最佳答案
我在使用 std::tie
的时候并没有想太多,但是它确实有效,所以我接受了这个事实:
auto test()
{
int a, b;
std::tie(a, b) = std::make_tuple(2, 3);
// a is now 2, b is now 3
return a + b; // 5
}
但是这个 黑魔法是如何工作的呢?std::tie
创建的临时数据如何改变 a
和 b
?我发现这个更有趣,因为它是一个库特性,而不是一个语言特性,所以它肯定是我们可以自己实现和理解的东西。