#include <iostream>
using namespace std;
int value = 123;
int main()
{
cout << value << endl;
int value = 1; //namehiding
cout << ::value << endl; //global scope operator(::)
cout << value << endl;
return 0;
}
123
123
1
전역변수는 Scope를 항상 잘 염두하고 코딩해야한다.
void doSomething()
{
int a = 1;
++a;
cout << a << endl;
}
int main()
{
doSomething();
doSomething();
return 0;
}
2
2
위 예제에서 static 키워드를 붙이면
void doSomething()
{
static int a = 1;
++a;
cout << a << endl;
}
int main()
{
doSomething();
doSomething();
return 0;
}
2
3
static을 선언하면 같은 메모리(주소)를 사용하기 때문에 항상 초기화가 먼저 되어야 쓸 수 있다.
'개발공부 > C++' 카테고리의 다른 글
참조변수 reference variable (0) | 2019.10.22 |
---|---|
자료형에게 가명 붙여주기 (0) | 2019.10.21 |
전처리기의 활용 (0) | 2019.10.21 |
C++의 기초적인 사용법 (0) | 2019.10.21 |
assignment와 initialization (0) | 2019.10.21 |