这段代码使用了 C++11 引入的新特性:基于类型推断(type inference)的变量声明/auto。语法形式为 auto [var1, var2] = func(),其中 func() 返回一个包含两个元素的数组或元组。auto 关键字用于自动推导变量的类型,方括号内指定了变量的名字,通过等号右侧的 func() 函数返回值进行初始化。
示例代码:
#include
#include
std::tuple func()
{
return std::make_tuple(10, 3.14);
}
int main()
{
auto [x, y] = func();
std::cout << x << std::endl; // 输出 10
std::cout << y << std::endl; // 输出 3.14
return 0;
}
在这个示例代码中,func() 返回一个包含两个元素的元组,其中第一个元素为 int 类型,第二个元素为 double 类型。在 main() 函数中使用 auto [x, y] = func() 自动推导了变量 x 和 y 的类型,并直接从 func() 函数返回值进行了初始化,最终输出了变量 x 和 y 的值。