const의 장점은
iterator에 cosnt를 붙이면?
가리키는 대상을 변경하지 못하게 하려면?
함수에 다양하게 쓸 수 있다.
operator 들은 반환 값이 const로 선언되어 있다.
비트 수준 상수성(물리적 상수성): C++에서 정의한 상수성, (컴파일러?)
논리적 상수성: 프로그래머는 논리적으로 상수성을 생각한 후 프로그래밍
컴파일러 관점에서 코드상에 문제가 없어도
부적절한 데이터 수정이 일어날 수 있다.
const 함수 내 수정이 필요하면 mutable을 사용.
코드 중복을 피하고 싶으면?
return const_cast<char&>(static_cast<const MyClass&>(*this)[ind]);