我可以从结构化绑定 const 中创建一个变量,而另一个变量为非常量吗?

问题描述 投票:0回答:1

我希望能够将结构化绑定分解为一个非常量变量和一个常量变量:

例如

std::pair<T, U>

这是可能的,甚至是明智的,还是我必须在结构化绑定中将
both

变量设为const或非常量?

c++ c++17 std-pair structured-bindings
1个回答
0
投票
分为非常量变量和常量变量:

这根本不是结构化绑定的作用。结构化绑定(隐式)声明
one

变量,并且 std::pair<int, int> anExamplePair = std::make_pair(1, 2); auto [nonConstVariable, constVariable] = anExamplePair; 或任何其他类型说明符适用于

该变量
为结构化绑定指定的名称的使用方式就好像它们为该单个变量的子对象或根据类型元组接口的

auto

调用的结果命名引用一样。

这些参考文献可能符合或不符合 

get

资格。这(纯粹)不是由您是否在结构化绑定中使用

const
决定的。类型可以定义其元组接口,以便它们始终或从不
const
限定,无论变量本身的
const
如何。
    

© www.soinside.com 2019 - 2024. All rights reserved.