:(범위 확인) 연산자는 변수 범위로 인해 숨겨진 이름을 가져와 계속 사용할 수 있도록 하는 데 사용됩니다. 범위 확인 연산자는 단항 및 이진 모두로 사용할 수 있습니다. 블록 또는 클래스 중에 동일한 이름의 특정 선언에 의해 네임스페이스 범위 또는 전역 범위 이름이 숨겨져 있는 경우 단항 범위 연산자를 사용할 수 있습니다. 예를 들어 이름이 my_var인 전역 변수와 이름이 my_var인 지역 변수가 있는 경우 전역 my_var에 액세스하려면 범위 확인 연산자를 사용해야 합니다.
예
#include <iostream> using namespace std; int my_var = 0; int main(void) { int my_var = 0; ::my_var = 1; // set global my_var to 1 my_var = 2; // set local my_var to 2 cout << ::my_var << ", " << my_var; return 0; }
출력
이것은 출력을 줄 것입니다 -
1, 2
메인 함수에서 선언된 my_var의 선언은 전역 네임스페이스 범위에서 선언된 my_var라는 정수를 숨깁니다. ::my_var =1 문은 전역 네임스페이스 범위에 선언된 my_var라는 변수에 액세스합니다.
범위 확인 연산자를 사용하여 클래스 이름이나 클래스 멤버 이름을 사용할 수도 있습니다. 클래스 멤버 이름이 숨겨져 있는 경우 클래스 이름과 클래스 범위 연산자를 접두사로 사용하여 사용할 수 있습니다. 예를 들어,
예시
#include <iostream> using namespace std; class X { public: static int count; }; int X::count = 10; // define static data member int main () { int X = 0; // hides class type X cout << X::count << endl; // use static member of class X }
출력
이것은 출력을 제공합니다 -
10