C++ 코드에서 많이 볼 수있는 :: (스코프) 연산자
기능1. 동일 소스의 중첩관계에서 가장 외곽에 있는 값을 의미
int iAbc= 128;
if (iAbc > 0) {
int iAbc = 256;
if (::iAbc < 200) {
// ::iAbc 는 가장 외곽에 있는 iAbc 값이다.(128 값을 갖는)
}
}
기능2. class 에서 멤버함수 접근할때.
(가장 흔한 경우)
기능3. MFC 프로그램 작성중 Win32 API 함수를 호출할 때
즉, ::SecureZeroMemory(...) 함수 호출
- 전역 선언인 Win32 API 함수를 호출
- 클래스 내의 사용자가 정의한 멤버 함수와 이름이 겹칠경우를 대비하여 호출 한다고 한다.
코딩할때 이름이 겹쳐서 :: 연산자를 사용하여 호출 하는 경우보다 해당 함수는 "Win32 API 함수를 호출한다"
라는 것을 명시적으로 보여주는 역할이 더 클것 같다. 소스를 다른 사람이 봐도 쉽게 이해할 수 있도록.