阅读量:0
在C++中,std::tie
是一种方便的方式来解包函数返回的元组(tuple)。它常与std::tuple
和std::make_tuple
一起使用。下面是一个例子:
#include<iostream> #include<tuple> // 返回两个值的函数 std::tuple<int, std::string> foo() { return std::make_tuple(42, "Hello World"); } int main() { int a; std::string b; // 使用std::tie解包foo()的返回值 std::tie(a, b) = foo(); std::cout << "a: " << a << ", b: " << b << std::endl; return 0; }
在这个例子中,foo()
函数返回一个包含两个值的元组。我们使用std::tie(a, b)
来接收这些值。std::tie
创建了一个元组,该元组的元素是对输入参数的引用。当我们执行std::tie(a, b) = foo()
时,返回的元组被解包,并将其值分别赋给a
和b
。
运行此程序会输出:
a: 42, b: Hello World