2016-03-29 9 views
1

メソッド宣言とC++ヘッダファイルを符号化するとき、差何のメソッド宣言の最後にCONSTを使用する:とき開始およびC++

int getFoo() const; 

const int getFoo(); 

const int getFoo() const; 

答えて

0

のミックスであり、constオブジェクトは、それが(変更できないことまたは少なくともはしないでください))。

2番目の関数は定数を返します。これは非const変数に代入して変更することができるので意味がありません。また、PODタイプを変更した場合、機能が気になるのはなぜですか?

3番目の機能は、最初の2つの組み合わせに過ぎません。 const値を返すconstオブジェクトで動作する関数。

1

最初のものは、これを防止するためのものですメソッドは、オブジェクトのメンバ変数を変更します。 2つ目は、戻り値の型のためである(すなわち:定数整数) 3つ目は、あなたの最初の関数はconstthisポインタ(つまり、上で動作し、両方の

+0

第2の 'const T f()'または 'const T f()const'は役に立たない。 –

関連する問題