"->", ".", "::"는 각각 언제 쓰나요?


C++는 클래스랑 관련해서

  1. a::b
  2. a.b
  3. a->b

같이 쓸 수 있잖아요. 저 3개는 각각 어떤 상황에서 쓰는 건가요?

  • 2016년 01월 25일에 작성됨

조회수 261


1 답변


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

::, ., -> 각 연산자는 각각 double colon, dot, arrow라고 하고, C++에서 클래스의 멤버 또는 클래스 객체에 접근할 때 쓰입니다.

3개는 각각 쓰는 상황이 다릅니다. 코드를 보면

1. a::b :

b가 클래스/namespace a의 멤버일 때 씁니다. 이 경우 a는 class나 namespace의 이름입니다

2. a.b :

b가 객체 a의 멤버일 때만 쓰입니다. 이 경우 a는 클래스의 객체입니다.

3. a->b :

보통은 (*)a.b를 뜻합니다. 다만, ->는 오버 로딩 될 수 있기 때문에, 이 경우는 구현한 사람이 정의한 대로 동작합니다.

  • 2016년 01월 25일에 작성됨

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

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