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

조회수 2346회

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

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

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

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를 뜻합니다. 다만, ->는 오버 로딩 될 수 있기 때문에, 이 경우는 구현한 사람이 정의한 대로 동작합니다.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)