「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ## C++ で関数パラメータとして参照を使用する必要があるのはどのような場合ですか?

## C++ で関数パラメータとして参照を使用する必要があるのはどのような場合ですか?

2024 年 11 月 7 日に公開
ブラウズ:446

## When Should You Use References as Function Parameters in C  ?

C での引数の受け渡し : 参照の理解

C では、関数パラメータの動作はその型によって決まります。重要な違いの 1 つは、「値による受け渡し」と「参照による受け渡し」です。

関数パラメーターで参照を使用する理由

参照は、次の 2 つの関数パラメーターで使用されます。主な理由:

  • 引数を変更するには:
    参照により、関数は渡された引数の値。これは、関数が呼び出し元に見える変更を加えることができることを意味します。
  • オブジェクトのコピーを避けるには:
    大きなオブジェクトを参照渡しすると、パフォーマンスが大幅に向上します。パラメータが参照によって渡される場合、オブジェクト全体ではなく、そのメモリ アドレスのみが渡されます。これにより、コストのかかるコピー プロセスが回避されます。

例:

次のコードを考えてみましょう:

void get5and6(int *f, int *s)
{
    *f = 5;
    *s = 6;
}

この関数はポインターを使用して、渡された引数を変更します。あるいは、参照を使用することもできます:

void get5and6(int &f, int &s)
{
    f = 5;
    s = 6;
}

参照はポインタと同様に動作するため、どちらのアプローチでも同じ結果が得られます。ただし、多くの場合、明確さと使いやすさの観点から、参照による受け渡しが好まれます。

参照による受け渡しとポインターによる受け渡し

参照による受け渡しとポインターによる受け渡しは似ています。どちらも引数のアドレスを渡す必要があるという点です。ただし、いくつかの微妙な違いがあります。

  • ポインタ: ポインタは、関数が引数の値を変更する可能性があることを明示的に示します。
  • 参考: 参照は、引数がローカル変数であるかのように、引数にアクセスするためのより直接的で便利な方法を提供します。

一般に、関数が引数の値を変更することが予想される場合には、ポインターの方が適していますが、引数がアクセスされるだけの場合、または呼び出し元が値が変更されるかどうかわからない場合には、参照による受け渡しが推奨されます。

]参照を使用する場合

参照は、次のシナリオで特に役立ちます。

  • 引数の値を変更するfunction.
  • パフォーマンスを向上させるためにオブジェクトのコピーを回避します。
  • 大きなオーバーヘッドを発生させずに大きなオブジェクトまたは複雑なオブジェクトを渡します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3