C++ 参照には、次の 2 つのプロパティがあります。
- それらは常に同じオブジェクトを指します。
- 0 にすることはできません。
ポインタは反対です:
- それらは異なるオブジェクトを指すことができます。
- それらは 0 になる可能性があります。
C++に「null不可で再配置可能な参照またはポインタ」がないのはなぜですか? 参照が再配置可能であってはならない正当な理由が思いつきません。
編集: 「関連付け」(ここでは「参照」または「ポインター」という言葉を避けている)が決して無効ではないことを確認したいときに参照を使用するため、この質問は頻繁に発生します。
「この参照が常に同じオブジェクトを参照するのは素晴らしい」と思ったことはないと思います。参照が再配置可能な場合、次のような現在の動作を取得できます。
int i = 3;
int& const j = i;
これはすでに正当な C++ ですが、意味がありません。
私は自分の質問を次のように言い直します。
乾杯、フェリックス