c++
static 키워드 (cpp, java)
by kcj3054
2021. 10. 23.
- static 키워드
- 범위의 제한을 받는 전역 변수 (접근할 수 있는 영역을 제한한 전역변수 )
- 파일속, 클래스속, 함수속
- 함수 속 정적 변수
- 함수로 범위가 제한된 변수
void Accumulate(int number) {
static int result = 0; // 2번 , 1번 후 2번에서 초기화를 했으니 5번후에는 초기화를 하지 않는다
result += number; // 3번 6번
cout << "result : " << result << endl; //4번
}
int main() {
Accumulate(10); // 10 , 1번
Accumulate(20); //5번
return 0;
}
- 정적 맴버 변수
- 함수안에서 정적 변ㄴ수 넣지 말 것
- 클래스 안에 넣을것 (oop)
- 전역변수 대신 정적 맴버변수를 쓸 것 (범위를 제한하기 위해서 )
class Cat
{
public:
Cat(int age, const string & name);
private:
static int mCount;
};
int Cat::mCount = 0; //컴파일할때 초기화하는 것
Cat::Cat(int age, const string & name)
{
mCount++;
}
int main() {
Cat * myCat = new Cat(2, "coco");
Cat *yourCat = new Cat(5, "momo");
Cat *hisCat = new Cat(3, "mo");
Cat *herCat= new Cat(5, "omo");
cout << myCat << endl;
return 0;
}