C の参照がリセットできない理由
C の参照は、ポインターとは異なり、2 つの基本的な特性に従っています。それは、常に同じオブジェクトを参照する必要があるということです。 null にすることはできません。ポインタはさまざまなオブジェクトを指す柔軟性を提供し、null に設定することもできますが、C には「null 不可で再配置可能な参照またはポインタ」という概念がありません。これにより、なぜ参照をリセットできないのかという疑問が生じます。
Felix Nievelstein は最初にこの疑問を提起し、オブジェクト間の関連付けが有効なままであることを保証するために参照を使用することを強調しました。しかし、C の設計者である Bjarne Stroustrup 氏によると、参照が不変である主な理由は、潜在的な曖昧さとエラーを回避するためです。
Stroustrup 氏の言葉を借りれば、「私は過去にそうしていました。 Algol68 参照に噛まれています。ここで、r1=r2 は、r1 を介して参照されるオブジェクトに割り当てるか、新しい参照値を r1 に割り当てることができます。 (r1 の再バインディング) r2 のタイプに応じて。C でそのような問題を回避したかったのです。"
C は、参照の再バインドを禁止することで、不確実性と参照の宛先オブジェクトを不用意に変更するリスクを排除することを目指しています。この設計上の決定により、参照が一貫して同じオブジェクトを指すようになり、予期せぬ結果が防止され、プログラムの正確さが維持されます。
以上がC 参照をリセットできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。