const_cast の存在理由が分からないです。
const っていうのは、理由があって書き換えられないようにするために付けるものだと思いますが、
こんなキャストがあるおかげで、結局はconstを外せてしまい、constの意味がなくなってしまうのでは。
それにconstを外すなんて、どう考えてもバグの元だと思うのですが。
「constは絶対に外せない」とした方が良くないですか?