注意:使用结构化绑定时,就不能再使用 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;
}