C における再装着不可能な参照の背後にある理論的根拠
C 参照には、ポインタとは異なる明確な特性があります。これらは単一のオブジェクトに不変にバインドされ、一定の関連付けが保証され、null になる可能性が排除されます。対照的に、ポインタはさまざまなオブジェクトを参照する柔軟性を提供し、null 値を保持できます。
疑問が生じます。なぜ C には「null 不可で再設定可能な参照またはポインタ」が欠けているのでしょうか。この不在を調べることで、C での参照の設計の背後にある理由とその独特の利点が明らかになります。
C の作成者である Stroustrup は、著書『Design and Evolution of C』でその理論的根拠を明らかにしています。彼は、参照のリセットを禁止する決定は意図的であり、潜在的な混乱や実行時エラーを回避したいという考えから生じたと説明しています。
Algol68 では、参照を再割り当てすることができ、参照先のオブジェクトまたはポイントを変更できるようになります。新しいオブジェクトに。 Stroustrup 氏は、この柔軟性が、特に複数の参照を伴う状況において、あいまいでエラーが発生しやすいコードにつながる可能性があることに気づきました。
参照をリセット不可能にすることで、C は参照が常に同じオブジェクトを参照するようにします。これにより、コードの理解が簡素化され、偶発的な再割り当ての可能性が減り、参照ベースのプログラミングの信頼性が高まります。この制約は特定のユースケースを制限する可能性がありますが、C コードの明確さ、一貫性、正確性を促進します。
以上がC リファレンスが再装着できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。