ホームページ > バックエンド開発 > C++ > C 参照をリセットできないのはなぜですか?

C 参照をリセットできないのはなぜですか?

Barbara Streisand
リリース: 2024-11-30 20:02:19
オリジナル
962 人が閲覧しました

Why Can't C   References Be Reset?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート