• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

강의에서 코드 질문입니다

21.07.20 12:21 작성 조회수 127

0

const int32 randValue = ::rand() % 2;

에서 :: 를 사용하는 이유가 궁금합니다

::는 범위지정 연산자로  클래스명:: 클래스에 있는 멤버 함수

이렇게 사용하는 경우는 알아도

허공? 에다 ::를 찍고 rand()를 하는 것은 처음 봅니다

:: rand( ) 가 어떻게 작동하는지 궁금합니다.

답변 1

답변을 작성해보세요.

1

global namespace라고 해서 사실 안 붙여도 아무런 상관이 없고 100% 동일하게 동작합니다.

그런데 사용하다 보면 은근 중독성이 있는게,
::Func()가 붙은 애들은 내가 직접 만든게 아니라,
표준 C++ 라이브러리에서 제공하는 API라는 것이 보여서 가독성이 조금 좋아집니다 (개인적 의견)

특히 네트워크 라이브러리를 만들 때 함수가 많아지면 헷갈릴 수 있기 때문에
표준 함수라는 의미로 앞에다가 ::를 붙이는 편입니다.

https://salkuma.wordpress.com/2014/02/05/%EC%9C%BC%EB%A1%9C-%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94-namespace/

답변 감사합니다!