当前位置: 首页 > 知识库问答 >
问题:

在结构化绑定定义中引入中间变量?

沈成天
2023-03-14

在[dcl.struct.bind]9.6.4中,当初始值设定项是带有std的类类型时,有结构化绑定的定义​::​元组大小

...变量以唯一名称ri引入如下:
S Ui ri=初始化器;
每个vi是Ti类型的左值的名称,该类型引用绑定到ri的对象;引用的类型是Ti。

我的问题是为什么有必要引入ri,我们不能直接将标识符vi定义为对get结果的引用吗


共有1个答案

蒋胡非
2023-03-14

其目的是不允许将结构化绑定重新声明为引用。见CWG 2313。

 类似资料:
  • 在该示例中,标识符和之间的相应区别是什么?据我所知,结构绑定中的也有一个引用类型,但是为什么为它指明了一个非引用类型呢?

  • 简短版本: 我希望能够将结构转换为元组。至少是那种类型。在下面的代码中,convertToTuple函数不起作用,因为可变参数不能用于结构化绑定(据我所知)。关键是:自动 基本上,我需要的是一种将自定义结构的类型转换为元组的方法,元组包含结构中的所有类型。例如: 具体问题: 我想创建一个模板函数,它将一个类型或一个类型列表作为模板参数,并生成一个纹理列表,每个纹理包含一个项目。另一个函数可以对纹理

  • 我正在学习结构化绑定声明。我的理解是,

  • 据我所知,C 17中结构化绑定引入的标识符实际上是对某些“隐藏”变量的引用。以至于 相当于 但是,如果我打印出

  • 为什么结构化绑定是通过一个唯一命名的变量和所有模糊的“name is bind to”语言定义的? 我个人认为结构化绑定的工作原理如下。给定一个结构: 以下内容: 大致相当于 数组和元组的等价展开式。但显然,这太简单了,而且有所有这些模糊的特殊语言用来描述需要发生的事情。 很明显,我遗漏了一些东西,但确切的情况是什么,一个定义良好的扩展,比如说,折叠表达式,在标准语言中读起来要简单得多? 似乎结构

  • 本文向大家介绍C++中结构体的类型定义和初始化以及变量引用,包括了C++中结构体的类型定义和初始化以及变量引用的使用技巧和注意事项,需要的朋友参考一下 C++结构体类型的定义和初始化 有时需要将不同类型的数据组合成一个有机的整体,以供用户方便地使用。这些组合在一个整体中的数据是互相联系的。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,都是这个学生的属性,见图 可以看到学号(num)、