Cメンバー関数の
"? Cメンバー関数の「 />」? " />
C メンバー関数で "this->" を使用する場合
経験豊富な C プログラマーとして、"this->" の目的について疑問に思うかもしれません。 ->" コンストラクトはメンバー関数内にあります。これを削除しても問題が発生することはありませんが、状況によっては明示的に使用する必要があります。
重要なインスタンスの 1 つは、派生クラス内のテンプレートにあります:
<code class="cpp">template<typename T> class A { protected: T x; }; template<typename T> class B : A<T> { public: T get() { return this->x; } };</code>
C の名前検索の複雑さにより、「this->」構文は「x」が現在のクラスの継承メンバーであることを明示的に示していますが、このニュアンスは主にテンプレート化されたクラス階層を含むシナリオに当てはまります。これは、プログラミングの経験ではあまり遭遇しないかもしれません。
一般に、テンプレート化されたクラス階層を使用して作業していない場合は、クラス メンバーにアクセスするために "this" を明示的に使用する必要はありません。コンパイラは自動的に正しいスコープを解決します。
以上がC メンバー関数で「this->」を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。