Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에 범위 확인 연산자가 필요한 이유는 무엇입니까?


:(범위 확인) 연산자는 변수 범위로 인해 숨겨진 이름을 가져와 계속 사용할 수 있도록 하는 데 사용됩니다. 범위 확인 연산자는 단항 및 이진 모두로 사용할 수 있습니다.

블록이나 클래스에서 동일한 이름을 명시적으로 선언하여 네임스페이스 범위 또는 전역 범위 이름이 숨겨져 있는 경우 단항 범위 연산자를 사용할 수 있습니다. 예를 들어 이름이 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

main 함수에서 선언된 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