C++ static은 C의 static과 동일하다.
C 언어에서의 static 함수의 개념을 정리하면 다음과 같다.
- 전역 변수에서 선언된 static의 의미
: 선언된 파일 내에서만 참조를 허용하겠다는 의미
- 함수 내에서 선언된 static의 의미
: 한번만 초기화 되고, 지역변수와 달리 함수를 빠져나가도 소멸되지 않는다.
#include <iostream>
using namespace std;
void Counter()
{
static int cnt;
cnt++;
cout << cnt << endl;
}
int main()
{
for(int i = 0; i < 3; i++)
Counter();
return 0;
}