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


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

  • 2016년 01월 21일에 작성됨

조회수 128


1 답변


좋아요
0
싫어요
채택취소하기

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

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

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


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close