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 함수를 호출한다" 
         라는 것을 명시적으로 보여주는 역할이 더 클것 같다. 소스를 다른 사람이 봐도 쉽게 이해할 수 있도록.
Posted by six605
,