参照渡し
【英】call by reference
参照渡しとは、サブルーチンや関数などの引数として変数を渡す際に、変数の受け取り側が変数を参照できる形式で、変数を渡す方法のことである。
参照渡しを行った変数の内容を、呼び出し先で変更すると、呼び出し元の変数を直接操作するのと同じ状態になる。
参照渡しによって渡された引数の内容を変更するような関数は、呼び出し側を見るだけでは渡した内容が変更されるか分かりにくいため、できるだけ多用を避けるか、あるいは、引数が変更されることが容易に分かる名前をつける、といった工夫が必要とされる。
なお、参照渡しに対して、引数に変数のコピーを値として渡す場合は、値渡しと呼ばれる。C言語やJavaなどには、参照渡しは用意されていない。ただしC言語では、値渡しでアドレスを渡すことによって参照渡しとほぼ同等の機能を実装できる。このような、C言語における値渡しを用いた実装を、広い意味で参照渡しと呼ぶ場合もある。
- さんしょうわたしのページへのリンク