0

メンバー関数をconstとして宣言するとき、実際にはクラスを変更しないと言っていることを理解しています。私の質問-「クラス」は(*)このインスタンスを指しますか、それとも一般的なクラスを指しますか?

たとえば、同じクラスの新しいインスタンスを作成してこのインスタンスを編集するconstメンバー関数がある場合、それは合法ですか?

ありがとう!

4

1 に答える 1

1

const、関数を呼び出すインスタンスを指します。これが、静的メンバー関数をconstとして宣言できない理由でもあります。const関数は、インスタンスのフィールドを読み取ることはできますが、書き込むことはできません。また、のthisstaticメソッドとconstメソッドのみを呼び出すことができthisますが、グローバルスコープに完全にアクセスできます。

于 2011-09-10T13:29:25.277 に答える