使用 stdpair

該結構模板 std::pair 可以繫結在一起,正好兩個返回值,任何兩種型別:

#include <utility>
std::pair<int, int> foo(int a, int b) {
    return std::make_pair(a+b, a-b);
}

使用 C++ 11 或更高版本,可以使用初始化列表而不是 std::make_pair

Version >= C++ 11

#include <utility>
std::pair<int, int> foo(int a, int b) {
    return {a+b, a-b};
}

可以使用對的 firstsecond 成員物件檢索返回的 std::pair 的各個值:

std::pair<int, int> mrvs = foo(5, 12);
std::cout << mrvs.first + mrvs.second << std::endl;

輸出:

10