- ベストアンサー
const_castのつかいどころを教えてください
C++のconst_castについて、constをはずすために使うようですが、 constしたもののconstをはずさなければならないケースとはどんなケースなのでしょうか? constをはずすなら、はじめからconstにすべきでないと思うのですが この考えは間違っているのでしょうか? どなたかご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> constをはずすなら、はじめからconstにすべきでないと思うのですが > この考えは間違っているのでしょうか? その考え方であっています。 ごく一部の例外を除けば、const_castでCV修飾子を取り除くのは、constやvolatleを付けるべきところに付けていないような、既存のダメ資産をどうしても使わざるを得ない場合だけです。
その他の回答 (1)
- koko_u_u
- ベストアンサー率18% (216/1139)
回答No.1
すぐ思い付くのは、operator[] の const あり/なしバージョンを作るときに、 const ありバージョンだけ定義して、他方は const_cast<int&>(static_cast<IntArray const&>(*this)[i]) とか。 別に無理して使うことないと思うけど。
お礼
ありがとうございました。モヤモヤしていたものがすっきりしました。