21
C ++関数から複数の値を返す
C ++関数から複数の値を返す推奨方法はありますか?たとえば、2つの整数を除算し、商と剰余の両方を返す関数を想像してみてください。私がよく目にする1つの方法は、参照パラメーターを使用することです。 void divide(int dividend, int divisor, int& quotient, int& remainder); バリエーションは、1つの値を返し、もう1つを参照パラメーターを介して渡すことです。 int divide(int dividend, int divisor, int& remainder); 別の方法は、すべての結果を含む構造体を宣言し、それを返すことです。 struct divide_result { int quotient; int remainder; }; divide_result divide(int dividend, int divisor); これらの方法のいずれかが一般的に推奨されますか、それとも他の提案がありますか? 編集:実際のコードでは、結果が3つ以上ある場合があります。彼らはまた、異なるタイプであるかもしれません。
242
c++