2009年1月29日木曜日

const member function

関数が引数を変更しないときにはconstを引数に付ける.
void func(const string & str) ;
これはstrで参照されるオブジェクトをfuncが変更しないという意味になる.

メンバ関数の場合には,引数以外にも変更することの可能なオブジェクトがある.暗黙裏に渡されるthisである.このthisを変更しないという宣言をするには const を後ろに付ける.

class A {
  void func(void) const;
}
なぜかというと前に付けると,返り値がconstである場合と区別がつかないから.ああ,面倒くさい.

0 件のコメント: