なぜ 'this' はポインタであり、参照ではないのですか?
プログラマは、'this' がポインタとして指定されているという混乱によく遭遇します。ただし、 C の参照ではありません。これにより、この設計選択の背後にある理由について疑問が生じます。
歴史的背景
C が開発の初期段階にあったとき、言語には参照が存在しませんでした。ポインタはメモリに間接的にアクセスするための唯一のメカニズムでした。参照は後で導入され、演算子をオーバーロードしてシームレスに機能できるようになりました。
ポインターである理由
ただし、参照には、有効性の保証や、有効性の保証など、ポインターに比べていくつかの利点があります。メモリをより安全に扱うために、歴史的な理由から「this」は指針のままでした。 C は、ユーザー コミュニティからのフィードバックを取り入れて段階的に進化しました。既存のコードの下位互換性を維持することの価値は、「this」を参照に変換することの潜在的な利点を上回りました。
参照のための追加の引数
歴史的な根拠にもかかわらず、いくつかの引数は「this」を参照にすることをサポートしています:
結論
一方、参照には特定の点で利点があります。シナリオでは、歴史的な考慮事項により、'this' は C のポインターのままです。下位互換性の重要性と言語の段階的な進化がこの決定を形成し、参照がもたらす潜在的な利点にもかかわらず、この決定は続いています。
以上がC の「this」ポインタが参照ではないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。