84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
闭关修行中......
C++ の参照は実際には単なる制限されたポインターですが、制限されたポインターには意味上の制限があり、ポインターが実行できる一部の操作 (再代入、コピー、++、--) を実行するために使用することはできません (私は考えていません)その他)、セキュリティを向上させるために null が許可されていないことを制限します。これは、ポインタに対するコンパイラの保護モードとして理解できます。
それでは、いつ参照を使用する必要があるのか、またいつポインタを使用する必要があるのかを考えてみましょう。いくつかのポイントがあると思います:
最初に引用
ポインタの代わりに参照を使用できる場合は常に参照を使用します。
ポインタは null にすることができますが、参照は null にすることができません。
もちろん、この場合でも参照の使用を続けることができ、空のオブジェクトの場合は例外をスローすることでそれを表現できます。
フェアユースのセマンティクスは、ポインタは所有 (所有) を意味し、参照は関連付け (使用) を意味します:
car には wheel
car
wheel
trip は car を使用します:
trip
もちろん、例外があります。関連する _car が旅行の有効期間中に変数である必要がある場合は、ポインターのみを使用できます (参照を再割り当てできないため)。
それ以外の場合、参照を使用することにこだわり、_car のポインタを変更したい場合は、新しいトリップを再構築することしかできません。
参照はコンテナに保存できません。使用できるのはポインタのみです (これは主に、参照の再割り当てとコピー操作が制限されているためだと思われます):
最後に、いつでも参照をポインタに変換できます。
ただし、ここでは car は main メソッドによって使用されるためにのみ渡されます (参照は使用関係を暗示しています)。ただし、ポインタ操作は適切ではありませんが、料金を支払う必要があります。使用するポインタを保存することに注意してください:
maintain メソッドを終了すると、_last_car が指すオブジェクトが解放される可能性があります。
Const について話すと底なし沼です例を挙げてください
NULL を返すことはポインターには許可されますが、参照には許可されません。
C++ の参照は実際には単なる制限されたポインターですが、制限されたポインターには意味上の制限があり、ポインターが実行できる一部の操作 (再代入、コピー、++、--) を実行するために使用することはできません (私は考えていません)その他)、セキュリティを向上させるために null が許可されていないことを制限します。これは、ポインタに対するコンパイラの保護モードとして理解できます。
それでは、いつ参照を使用する必要があるのか、またいつポインタを使用する必要があるのかを考えてみましょう。いくつかのポイントがあると思います:
最初に引用
ポインタは null にすることができますが、参照は null にすることができません。
リーリーもちろん、この場合でも参照の使用を続けることができ、空のオブジェクトの場合は例外をスローすることでそれを表現できます。
リーリーフェアユースのセマンティクスは、ポインタは所有 (所有) を意味し、参照は関連付け (使用) を意味します:
があります リーリーcar
にはwheel
リーリーtrip
はcar
を使用します:もちろん、例外があります。関連する _car が旅行の有効期間中に変数である必要がある場合は、ポインターのみを使用できます (参照を再割り当てできないため)。
リーリーそれ以外の場合、参照を使用することにこだわり、_car のポインタを変更したい場合は、新しいトリップを再構築することしかできません。
参照はコンテナに保存できません。使用できるのはポインタのみです (これは主に、参照の再割り当てとコピー操作が制限されているためだと思われます):
リーリー最後に、いつでも参照をポインタに変換できます。
リーリーただし、ここでは car は main メソッドによって使用されるためにのみ渡されます (参照は使用関係を暗示しています)。ただし、ポインタ操作は適切ではありませんが、料金を支払う必要があります。使用するポインタを保存することに注意してください:
リーリーmaintain メソッドを終了すると、_last_car が指すオブジェクトが解放される可能性があります。
Const について話すと底なし沼です
リーリー例を挙げてください
NULL を返すことはポインターには許可されますが、参照には許可されません。