重複の可能性:
C++ のポインター変数と参照変数の違いは何ですか?
性能的にも機能的にも?
つまり、関数呼び出し中にポインターが指すデータの内容を変更したい場合、ポインター引数を渡すことは、参照引数を渡すこととまったく同じように機能しますか?
重複の可能性:
C++ のポインター変数と参照変数の違いは何ですか?
性能的にも機能的にも?
つまり、関数呼び出し中にポインターが指すデータの内容を変更したい場合、ポインター引数を渡すことは、参照引数を渡すこととまったく同じように機能しますか?
パフォーマンスに関しては、参照はポインターよりもわずかに優れています。これは、たとえば多重継承が行われている場合など、特定の場合に必要なポインターの調整に関係しています。変換されたポインターがnullの場合、ポインターがnullのままになるように、調整を逆にする (またはまったく行わない) 必要があります。参照をnullにできないという事実は、追加のチェックが必要ないことを意味します。
機能的には、参照ができないときにポインタをnullにすることができ、参照をできないときにポインタを再割り当てできます。それらにアクセスするための基本的な異なる構文以外。
基本的にいいえ、それらはまったく同じものではありません。