• ベストアンサー

const_castのつかいどころを教えてください

C++のconst_castについて、constをはずすために使うようですが、 constしたもののconstをはずさなければならないケースとはどんなケースなのでしょうか? constをはずすなら、はじめからconstにすべきでないと思うのですが この考えは間違っているのでしょうか? どなたかご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

> constをはずすなら、はじめからconstにすべきでないと思うのですが > この考えは間違っているのでしょうか? その考え方であっています。 ごく一部の例外を除けば、const_castでCV修飾子を取り除くのは、constやvolatleを付けるべきところに付けていないような、既存のダメ資産をどうしても使わざるを得ない場合だけです。

cyacya2000
質問者

お礼

ありがとうございました。モヤモヤしていたものがすっきりしました。

その他の回答 (1)

  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.1

すぐ思い付くのは、operator[] の const あり/なしバージョンを作るときに、 const ありバージョンだけ定義して、他方は const_cast<int&>(static_cast<IntArray const&>(*this)[i]) とか。 別に無理して使うことないと思うけど。

関連するQ&A