ホームページ >バックエンド開発 >C++ >なぜ C では「this」は参照ではなくポインタなのでしょうか?

なぜ C では「this」は参照ではなくポインタなのでしょうか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-24 10:18:11588ブラウズ

Why Is `this` a Pointer and Not a Reference in C  ?

「this」は参照ではなくポインタであるのはなぜですか?

C プログラマは、「this」が参照ではなくポインタであるという点でよく混乱に遭遇します。参考に。この問題は、歴史的な設計上の決定と言語の段階的な進化から発生します。

当初、C は参照ではなくポインターのみを備えていました。ただし、演​​算子のオーバーロードが導入されると、一貫性を確保するために参照が必要であると考えられました。

「this」の参照を使用すると、「&this」構文の必要がなくなりますが、代入演算子の呼び出しで複雑さが発生します。 "this" の代わりに *this" が必要になります。

さらに、 C の下位互換性は最も重要です。 「this」をポインタから参照に変更するには大幅なコード変更が必要となり、非現実的な選択となります。

したがって、既存のコードとの互換性を維持し、多様なニーズに応えるために、「this」は C のポインタのままになります。ユーザーコミュニティの。

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

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