The thisキーワード
メニューを表示するにはスワイプしてください
オブジェクト指向プログラミングにおける this キーワードは、現在のオブジェクトインスタンスを指します。これにより、メンバ関数は自身を呼び出したオブジェクトへのポインタを取得し、そのオブジェクトの変数や関数へアクセスできます。
Example.cpp
12345678910111213#include <iostream> class Example { public: Example* get_address() { return this; } }; int main() { Example obj; std::cout << &obj << std::endl; std::cout << obj.get_address() << std::endl; }
クラス内でドット演算子(.)を使用してメンバ変数やメンバ関数にアクセスする場合、this ポインタは暗黙的にメンバ関数が呼び出されたオブジェクトを指します。これはさまざまな場面で有用であり、変数名の曖昧さを回避するためによく利用されます。
Example.cpp
123456789101112131415#include <iostream> class Example { public: void multiply(int number) { number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
ここでは、this キーワードを利用できます。this は現在のオブジェクトを指すポインタであるためです。その属性にアクセスするには、-> 演算子を使用する必要があります。
main.cpp
123456789101112131415#include <iostream> class Example { public: void multiply(int number) { this->number *= number; } int number; }; int main() { Example obj; obj.number = 2; obj.multiply(5); std::cout << obj.number; }
this キーワードの使用は、さまざまな場面で広く行われています。特に大規模なクラス内で、変数がクラスのメンバーであり、外部のパラメータや引数ではないことを示すためによく利用されます。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 7
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 7