const value
은 프로그래밍에서 자주 사용됩니다. 프로그래머가 미래에 값이 변하지 않을 것이라고 보안을줍니다. 불행하게도 이것은 완전히 시행되지 않습니다. 결과적으로 때때로 해독하기 어려운 미묘한 버그가 발생합니다. 예로서 :C++에서 const 값을 변경하는 방법
int a = 1;
const int& b = a; // I promise I will not change
a = 3; // I am a liar, I am now 3
cout << b; // As I will now show 3
또한 다른 방식 const
값을 변경하는 것이 가능하다; 그 중 일부는 상당히 복잡하며 코드의 다른 부분에서 손실되어 버그를 유발하는 많은 양의 코드가 필요합니다.
따라서 누구나 const value
을 변경할 수있는 방법을 자세히 설명해 주시겠습니까? 네가 모든 것을 알지 못한다고해도 걱정하지 마라. 많은 것을 포함하지 않을 것이다. 네가 아는 모든 방법을 말해라. 결국 너는 네가 가진 것을 줄 수있다.
'a'가 비 const이므로'a = 3'은 거짓말이 아닙니다. 'const_cast (b) = 3;'거짓말이 될 것입니다. –
'b'은 그 값이 변하지 않을 것을 약속하지 않았습니다. 'const' 참조를 직접 사용하여 값을 변경할 수 없다는 것이 강요됩니다. 흥미로운 질문이라고 생각합니다. 그러나 여러분의 예제는 확실히 – user463035818
이 아니지만,'b = 3'을했을 때'b' const가 아닌'a'가 아니라면이 예제 가짜가 아닙니다. – EdChum