人によって解釈が違うので改めて調べてみた
出典
良いコード/悪いコードで学ぶ設計入門にて紹介されているフレーズ、出典元の書籍を引用させてもらうと以下の通り
出力として用いる引数を出力引数と呼びます。 - 良いコード/悪いコードで学ぶ設計入門69ページより
出力引数の源流を調べる
出力引数というフレーズが多く見られるのはC#の記述。C#ではいわゆる参照渡しの一つのパターンとして out
修飾子を使って参照渡しを実現する方法を「出力引数」と呼ばれるケースがある。
C#では参照渡しの方法がいくつかあり、 ref
修飾子を使うもの「参照引数」、in
修飾子を使うものを「入力参照引数」と呼ばれるケースがあるため、参照渡しというフレーズだけだとどのパターンがあるかわからないので細分化されているものと思われる。
ただこの「出力引数」はインターネット上だと未確認飛行Cさんでの説明がベースになっているようで、Microsoftの和訳ドキュメントなどには登場しない。
出力引数とはどういうものなのか
C#における出力引数配下のようなもの(マイクロソフトのドキュメントより)
int initializeInMethod; OutArgExample(out initializeInMethod); Console.WriteLine(initializeInMethod); // value is now 44 void OutArgExample(out int number) { number = 44; }
上記のように OutArgExample
のメソッドのなかで変数代入されたないようが、メソッドにセットした引数に影響を及ぼすことができる仕組み。
広義の出力引数を考える
C#においける出力引数とはout修飾子を利用した参照渡しのことであるが、他の言語には ref
out
in
に相当する使い分けはないため「呼び出し元に干渉させる目的の関数の引数」と解釈すると他言語の場合もすんなり理解できると思われる。