ホームページ >バックエンド開発 >C++ >C の「this」はポインタですか、それとも参照ですか?

C の「this」はポインタですか、それとも参照ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-25 13:57:11595ブラウズ

Is `this` a Pointer or a Reference in C  ?

「this」はポインタであり参照ではない理由

一部の人が認識しているように、C における「this」の概念は通常混乱を引き起こしますそれをポインタとして見る一方で、他の人はそれを参照として見ます。歴史的背景は、この明らかな矛盾に光を当てます。

当初、C はポインターのみを備えていました。演算子のオーバーロードが導入されると、一貫性を確保するために参照が必要になりました。ただし、「this」は以前のバージョンでポインタとしてすでに確立されていました。

「this」が参照の場合、アクセスするには「&」演算子が必要となり、結果は「&this」になります。対照的に、ポインター「*this」を使用した自己代入の構文はより簡潔に見えます。したがって、「this」がポインタであることの下位互換性は、それを参照にすることの潜在的な利点を上回ります。

参照には安全性と安全性の点で利点がありますが、「this」がポインタであるという確立された規則は、 C コミュニティは下位互換性を重視しているため、変更されていません。

以上がC の「this」はポインタですか、それとも参照ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。