C++14 で複数の戻り値を返す
std::tuple
を使ってもいいのですが、C++14 の場合は内部クラスを戻り値として返すことも出来ます。
[コード]
#include <iostream> auto calculate(int x, int y){ struct result_t{ int add; int sub; }; auto a = x + y; auto s = x - y; return result_t{ a, s }; return 0; } int main(){ auto result = calculate(3, 2); std::cout << result.add << std::endl; std::cout << result.sub << std::endl; return 0; }
[出力結果]
5 1