结构化绑定
C++17新增语法,结构化绑定。将一个数据结构class或者struct结构化绑定到变量中。
结构化绑定使用auto 自动推导。不允许显示指定类型,下面的例子可能有所帮助:
1 std::array arr = { 12,13,14 }; 2 auto [x, y, z] = arr; // 结构化绑定
此时,x,y,z分别对应数据中的12,13,14,x的类型为int&&,可以在下文中直接使用。
1 struct k { 2 int x = 10; 3 int y = 20; 4 }; 5 k h; 6 auto [x1, y1] = h;
此时x1,y1分别对应k结构的x,y。x1的类型为int,可以在下文中直接使用,注意名称唯一性。
注意,结构化绑定必须满足以下要求:
1.绑定的数量必须与结构的数量相同。
2.auto不能主动声明类型。

浙公网安备 33010602011771号