哪种类型的结构可以构成绑定

What type of structs can structured bindings work with

本文关键字:绑定 结构 种类 类型      更新时间:2023-10-16

i通过论文在结构化绑定上脱脂,此处http://www.open-std.org/jtc1/ssc22/wg21/wg21/docs/papers/papers/2015/p0144r0.pdf,但我是无法很好地了解该语法允许绑定的结构类型。我最好的猜测是结构必须是骨料类型。或仅具有公共数据成员的东西。

我是否缺少任何警告?

如果您不想专门为您的类型 std::tuple_sizestd::tuple_elementget,则[dcl.decomp]需要:

否则,E的所有非静态数据成员均应是E的公共直接成员或相同的明确成员 EE的公共基类不得有匿名联盟成员,并且 标识符列表应等于E的非静态数据成员的数量。

基本上所有数据成员都需要在同一类中声明,并且他们都需要公开,您需要提供与成员相同的名称数量。