강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

움직이는YM님의 프로필 이미지
움직이는YM

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘

강의에서 코드 질문입니다

해결된 질문

작성

·

187

0

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

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

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

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

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

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

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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/

답변 감사합니다!

움직이는YM님의 프로필 이미지
움직이는YM

작성한 질문수

질문하기