- 보통 변수는 선언시 값을 넣어주지 않아도 자동으로 쓰레기값이 들어가면서 정의 되어서 한번 더 같은 변수의 이름을 써서 선언한다면 곧 재정의가 됨
- static도 변수와 마찬가지로 한번 더 쓰게 되면 재정의가 되고
Include로 각각 다른 헤더에서 같은 이름을 써도 에러
- extern은 값을 넣어주지 않으면 선언이 된다. 그래서 따로 정의를 해주지 않고 사용하면 오류가 난다
cf. class안에 static 변수도 값을 넣어주지 않으면 선언이 돼버린다.
- extern은 Include로 각 다른 헤더에서 선언해서 불러와도 같은 변수이므로 주의 해야 함
- extern은 정의 하지 않으면 컴파일이 안됨
- static은 지역일 때와 전역일 때 전혀 다른 속성으로 쓰이게 된다.
전역일 경우는 그 파일 내에서만 유효하고 다른 파일에서는 다른 녀석이 된다.
'programing > C++' 카테고리의 다른 글
auto (0) | 2016.10.12 |
---|---|
std::tuple (0) | 2016.10.12 |
코드 최적화 (0) | 2016.09.20 |
조이패드(Joypad) Input (0) | 2016.09.09 |
[Modern C++] 스마트 포인터 (0) | 2016.08.16 |