|
const 변수는 초기화된 후엔 수정되어 질수 없도록 보호됩니다.
하지만 이 보호란것은 software protection 으로 compiler 가 이 변수를 통한 수정을 compile-time 에 systax error 를 내어 보호해줄 뿐이지 run-time 에 하드웨어 위치(즉 메모리의 주소)를 통해서 수정하는 것은 막을 수 없습니다.
C++에서 type casting 을 통해 주소로 접근하는 것에 대해서는 어쩔 수 없는 것입니다.
대부분의 C++ compiler 가 그대로 컴파일 해 버릴 것입니다.
하지만 실행했을 때 모든 system 에서 같은 결과가 나오지 않을 수 있지 않을까 생각됩니다.
어떤 시스템에선 memory dump error 가 날지(?)도 모르겠네요.
|