掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
変数定義でのconstと&の意味 (ID:67503)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
『値が継承』ってどういう意味なのかわかりません。 参照は変数に別名を付けたような効果があるよ。 cTransFile mTransA; cTransFile & mTransB = mTransA; とした場合、 mTransB.mStorageDirは、mTransA.mStorageDirと同一のものを指している。 constは参照じゃなくても付けることができるので 参照とは別に理解すればいいと思う。 おそらくこういうことだろう class cTransFile { public: cTransFile() { } std::string mStorageDir; std::string mIndexFile; }; class X { public: cTransFile mTransA; cTransFile & mTransB; const cTransFile & mTransC; X(); }; X::X() : mTransB = mTransA , mTransC = mTransA { } というのも、参照型とconstは途中で値を変えることができないから コンストラクタで設定するはず。 上記はコンパイル確認していないのでエラーになるかもしれませんけど。 説明の都合によりpublic:を付けました。 メンバ変数とういう意味でmを付けているのかもしれないが 回答者には全体像が見えないので回答に難儀する。 constは値の変更禁止だから以下のようになるはず mTransB.mStorageDir = "a"; // コンパイルok mTransB.erase(); // コンパイルok mTransC.mStorageDir = "a"; // コンパイルエラー mTransC.erase(); // コンパイルエラー これも動作確認していないのでミスがあるかも。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.