注意:使用结构化绑定时,就不能再使用 std::tie 创建虚拟变量了,所以我们不得不绑定所有值到命名过的变量上。对部分成员进行绑定的做法是高效的,因为编译器可以很容易的对未绑定的变量进行优化

std::pair<int,int> divide_remainder(int dividend, int divisor){
    int f = dividend / divisor;
    int s = dividend % divisor;
    return {f, s};
}

int main()
{
    auto [dividend, remainder] = divide_remainder(16, 3);
    std::cout << "16 / 3 is " << dividend << " with a remainder of " << remainder << '\n';

    // 之前的写法
    int remainder1; 
    std::tie(std::ignore, remainder1) = divide_remainder(16, 5); 
    std::cout << "16 % 5 is " << remainder1 << '\n';

    return 0;
}