07/07/22 13:40:02
>>182
C++だと、関数にconstを付ける場合もある
いや、むしろ可能な限り積極的に付けて欲しい。
class Hoge {
public:
void foo_set(double d) { x = d; }
double foo_get() const { return x; }
private:
double x;
} hoge;
↑の例だと、void hoge.foo_set(double)関数は、メンバ変数 x を変える可能性がある。
同じクラス内のメンバ変数を変える可能性がある関数は、constにできない(コンパイルエラー)
double hoge.foo_get()関数は、xの中身を見るだけで、変更する可能性はゼロなので
constを **つけることができる**
**付けなくてもコンパイルエラーにはならない。**
つまり、自分(や、保守のコーダー)に縛りを課すという意味合いがある。