점(.)을 찍는 거랑 ->를 하는 건 무슨 차이인가요?

조회수 1777회

C++에서 객체에 점(.)을 찍는 거랑 ->를 하는 건 어떤 차이가 있나요? 포인터 너무 싫어요..

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    1 .연산자는 포인터에서는 쓸 수 없습니다. 2 foo->bar() = (*foo).bar()

    2는 꼭 (*foo)같이 괄호로 싸줘야 합니다. .연산자가 *연산자 보다 우선순위가 높기 때문에 *foo.bar()는 컴파일 에러를 낼 가능성이 높습니다.

    덧붙이자면, .연산자는 오버로드 할 수 없고, ->는 오버로드 할 수 있어서 쓸 때 주의해주세요

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)