Cur*_*ous 8 c++ c++14 c++17 structured-bindings
我浏览了结构化绑定的论文http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf,但我无法很好地了解哪种类型的结构语法允许绑定到.我最好的猜测是结构必须是聚合类型.或者只有公共数据成员的东西.
我有什么警告吗?
如果您不想专门化std::tuple_size,std::tuple_element并且get对于您的类型,则[dcl.decomp]需要:
否则,所有
E非静态数据成员都应是公共直接成员E或同一明确公共基类的成员E,E不得有匿名工会成员,并且标识符列表中的元素数量应等于非静态数据成员的数量E.
因此,基本上所有数据成员都需要在同一个类中声明,并且它们都需要是公共的,并且您需要提供与成员相同数量的名称.