2011-09-10 14 views
0

メンバー関数をconstとして宣言すると、私は実際にクラスを変更しないと言います。私の質問 - 'クラス'はこのインスタンスまたは一般的なクラスを指しますか?'const'関数についての質問

例 - 同じクラスの新しいインスタンスを作成してこのインスタンスを編集するconstメンバー関数を使用している場合、それは合法ですか?

ありがとうございました!

答えて

1

constは、関数を呼び出すインスタンスを指します。これは、静的メンバー関数をconst宣言できない理由です。 const関数はthisインスタンスのフィールドを読み取ることはできますが書き込むことはできず、thisという静的メソッドとconstメソッドしか呼び出せませんが、グローバルスコープへのフルアクセスが可能です。