[メモ] constメンバ関数

| コメント(0) | トラックバック(0)

忘れないように。

constメンバ関数のconst意味は、そのconstメンバ関数を実行する際に所有するオブジェクトの内容を変更しないという意味だが、それ故、constオブジェクトが実行できるのはconstメンバ関数に限られるということ。

つまり、

void Hoge::Func(const Hoge &obj)
{
    if( obj.IsOK() )  // call Hoge::IsOK()
    {
         Hoge.m = obj.m;
    }
}

のときの、Hoge::IsOK()はconstで定義されていなければならないということ。
この場合、bool Hoge::IsOK() const;のような定義が必要。
#たとえ、Hoge::IsOK()の中で変更をして無いとしても、constの省略はコンパイラエラーを招く。

うっかり忘れて多量のエラーを吐かれると、イヤなのでメモ。

トラックバック(0)

トラックバックURL: http://blog.fne.jp/mt/mt-tb.cgi/27

コメントしちゃいなよ

    

サイトカウンタ

Total: 200,019 Hits, (Recent24Hours: 36 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2017/06/28 23:03:04 JST

このブログ記事について

このページは、ふぅみんが2009年11月25日 21:39に書いたブログ記事です。

ひとつ前のブログ記事は「多桁計算処理実装中」です。

次のブログ記事は「多桁計算:加算・減算」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2017年4月

 日   月   火   水   木   金   土 
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

埋め込みQRコード