코드
#include <iostream>
using namespace std;
namespace one { int var = 5; }
namespace two { int var = 3; }
int main(int argc, char **argv} {
cout << one::var << endl;
cout << two::var << endl;
return 0;
}
Namespace를 지정해주면 같은 변수라도 다른 값을 사용할 수 있다.
이때 사용하는 것이 Operator :: 이다.
Operator ::
- To access a global variable when there is a local variable with same name.
- To define a function outside a class.
- To access a class’s static variables.
- In case of multiple Inheritance.
예시 코드
int y = 0; // Global y
int x = 1; // Global x
void f(){ // Function is a new block
int x = 5; // Local x = 5, it hides global x
::x++; // Global x = 2
x++; // Local x = 6
y++; // Global y = 1
}
:: 를 사용하면 Global 변수에 Access 할 수 있다.
'C++ > C.S 필요한 C++ 문법!' 카테고리의 다른 글
[중요] C++ 0.06 - Reference Operator & (0) | 2021.10.26 |
---|---|
C++ 0.05 - Default Function Arguments (0) | 2021.10.26 |
C++ 0.04 - Inline functions (0) | 2021.10.26 |
C++ 0.03 - Input & Output (0) | 2021.10.25 |
C++ 0.01 - int 와 Float 구분하기!! (0) | 2021.10.25 |