this

提供: Appmethod Topics
移動先: 案内検索

キーワード(アルファベット順):インデックス への移動


カテゴリ

C++ 固有キーワード

class X {
  int a;
public:
  X (int b) {this -> a = b;}
};

説明

メンバ関数が static ではない場合、this キーワードは、呼び出された関数のオブジェクトへのポインタになります。static ではないメンバ関数の呼び出しには、this が隠れた引数として渡されます。

this は static 以外のメンバ関数内で使用できるローカル変数です。メンバを参照するために、関数内で暗黙に使用されます。this は宣言が不要で、関数定義で明示的に参照されることはまれです。

たとえば、x.func(y) の呼び出しがあるとします。この場合、y は X のメンバで、this キーワードは &x に設定されます。ここで、y は this->y となり、x.y と等しくなります。

static のメンバ関数には、特定のオブジェクトを使用せずに呼び出されるため、this ポインタはありません。従って、static のメンバ関数は、オブジェクトが . または -> で明示的に指定されていない限り、static ではないメンバにアクセスできません。

関連項目