この記事は主に C++ での引用の概要を共有します。必要な友人は参照してください
引用の概要
(1) 引用を使用する場合は、単に与えるだけでは意味がありません。参照の目的は、主に関数パラメータの転送において、大きなデータやオブジェクトの転送効率や容量の問題を解決するために使用されます。
(2)関数パラメータの受け渡しにリファレンスを使用することで、パラメータ転送時にコピーが生成されず転送効率が向上し、constを使用することでリファレンス転送の安全性が確保されます。
(3) 参照とポインタの違いは、ポインタがポインタ変数を介してオブジェクトを指した後、ポインタが指す変数に対して間接的に操作することです。プログラム内でポインターを使用すると、プログラムが読みにくくなります。参照自体はターゲット変数の別名であり、参照に対する操作はターゲット変数に対する操作となります。
(4)引用符を使うタイミング。ストリーム演算子 << および >>、代入演算子 = の戻り値、コピー コンストラクターのパラメーター、代入演算子 = のパラメーターなどの参照を使用することをお勧めします。
(1) 関数への参照を渡すことは、ポインターを渡すことと同じ効果があります。このとき、呼び出される関数の仮パラメータは、元の呼び出し関数の実パラメータ変数またはオブジェクトのエイリアスになります。したがって、呼び出される関数の仮パラメータ変数に対する操作は、対応するターゲット オブジェクト (.メイン呼び出し関数) の操作。
(2) 転送関数パラメータへの参照を使用すると、メモリ内に実際のパラメータのコピーが生成されません。一般変数を使用して関数パラメータを転送する際、関数呼び出しが発生したときに、仮パラメータが必要になります。ストレージユニットを割り当て、仮パラメータ変数は実際のパラメータ変数のコピーです。オブジェクトが渡されると、コピーコンストラクタも呼び出されます。したがって、パラメーターによって渡されるデータが大きい場合は、一般変数を使用してパラメーターを渡すよりも参照を使用する方が効率的で、使用するスペースも少なくなります。
(3)関数の引数としてポインタを使用することでも参照を使用するのと同じ効果を得ることができますが、呼び出される関数の仮引数にも記憶単位を割り当てる必要があり、「*ポインタ変数名」の形式を繰り返し使用する必要がありますその一方で、メイン呼び出し関数の呼び出しポイントでは、変数のアドレスを実際のパラメータとして使用する必要があります。また、引用はより使いやすく、より明確になります。
参照を使用してプログラムの効率を向上させ、関数に渡されたデータが関数内で変更されないように保護したい場合は、定数参照を使用する必要があります
関連する推奨事項:
以上がC++ の参照のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。