C언어 - const ? 꼭 사용해야 하나?
카테고리 없음 / 2016. 6. 4. 22:00
const 는 "변경이 불가한", "변경해서는 안되는" 변수앞에 붙여주며,
프로그래머가, 이 "변경불가한"변수에, 값을 대입하는 행위를 컴파일러가 찾아서 에러를 표시해주는 기능이다.
함수의 인자로 들어가는 값이 const 인 경우, 그값는 함수 내부에서 변경되지 않음을 보장한다.(그러나 반드시 그런것은 아니다. 형변환을 한다면, 변경될 수 도 있다.)
프로그래머가 의도하지 않은 오류를 컴파일러 차원에서 찾아준다는데서, 긍정적 평가를 받는다.
그러나 실제로는 좀 불편한게 많다.
동일한 함수도 const가 붙은것과 안붙은것이 다르다.(차별하지 좀 마...)
어쨌든, 프로그래머 입장에서는 귀찮은 존재일 수도 있다.
꼭 사용해야 하는가?
"꼭"은 아니다. 권장 사항일뿐, 하지만, 이것때문에 귀찮아 지는일이 종종 발생한다.
const를 두고 "지저분한(Messy)라고 표현하는 사람도 있으니...
http://duramecho.com/ComputerInformation/WhyHowCppConst.html
그외에도, const를 2개나 붙이는 함수도 있다.
왜 2개씩이나 붙일까? (난 전혀 안궁금하다...ㅡ,.ㅡ)
오류 없는 프로그램을 작성하기위해서는 필요할 수 도 있으나,
너무나 귀찮은 존재이다.