プロが教えるわが家の防犯対策術!

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

A 回答 (2件)

> constをはずすなら、はじめからconstにすべきでないと思うのですが


> この考えは間違っているのでしょうか?

その考え方であっています。
ごく一部の例外を除けば、const_castでCV修飾子を取り除くのは、constやvolatleを付けるべきところに付けていないような、既存のダメ資産をどうしても使わざるを得ない場合だけです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/11/15 09:15

すぐ思い付くのは、operator[] の const あり/なしバージョンを作るときに、


const ありバージョンだけ定義して、他方は

const_cast<int&>(static_cast<IntArray const&>(*this)[i])

とか。

別に無理して使うことないと思うけど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


人気Q&Aランキング