본문 바로가기
programing/C++

extern과 static

by RedWiz 2016. 10. 9.


- 보통 변수는 선언시 값을 넣어주지 않아도 자동으로 쓰레기값이 들어가면서 정의 되어서 한번 더 같은 변수의 이름을 써서 선언한다면 곧 재정의가 됨


- static도 변수와 마찬가지로 한번 더 쓰게 되면 재정의가 되고

Include로 각각 다른 헤더에서 같은 이름을 써도 에러


- extern은 값을 넣어주지 않으면 선언이 된다. 그래서 따로 정의를 해주지 않고 사용하면 오류가 난다

cf. class안에 static 변수도 값을 넣어주지 않으면 선언이 돼버린다.


- extern은 Include로 각 다른 헤더에서 선언해서 불러와도 같은 변수이므로 주의 해야 함


- extern은 정의 하지 않으면 컴파일이 안됨


- static은 지역일 때와 전역일 때 전혀 다른 속성으로 쓰이게 된다.

전역일 경우는 그 파일 내에서만 유효하고 다른 파일에서는 다른 녀석이 된다.


https://kldp.org/node/24293

http://egloos.zum.com/rucaus/v/2364464

http://unabated.tistory.com/entry/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