我希望能够将结构化绑定分解为一个非常量变量和一个常量变量:
例如std::pair<T, U>
这是可能的,甚至是明智的,还是我必须在结构化绑定中将both
变量设为const或非常量?
one这根本不是结构化绑定的作用。结构化绑定(隐式)声明
变量,并且 std::pair<int, int> anExamplePair = std::make_pair(1, 2);
auto [nonConstVariable, constVariable] = anExamplePair;
或任何其他类型说明符适用于
该变量。 为结构化绑定指定的名称的使用方式就好像它们为该单个变量的子对象或根据类型元组接口的
auto
调用的结果命名引用一样。
这些参考文献可能符合或不符合get
资格。这(纯粹)不是由您是否在结构化绑定中使用
const
决定的。类型可以定义其元组接口,以便它们始终或从不 const
限定,无论变量本身的 const
如何。