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

简历-简历价值资格(重温)

微生高谊
2023-03-14

这是我上一个问题的后续,当时的共识是,对pr值的cv限定的处理方式的改变只是一个相当小且无关紧要的改变,旨在解决一些不一致的问题(例如,返回pr值的函数和用cv限定的返回类型声明的函数)。

然而,我在标准中看到了另一个地方,它似乎依赖于具有cv限定类型的prvalues:通过临时的具体化转换初始化<code>const</code>引用prvalues。相关措辞可在9.3.3/5中的多个位置找到

[...]如果转换后的初始值设定项是 prvalue,则将其类型 T4 调整为类型“cv1 T4”([conv.qual]),并应用临时具体化转换 ([conv.rval])[...]

[...]否则,初始值设定项表达式将隐式转换为类型为“cv1 T1”的 prvalue。应用临时具体化转换,并将引用绑定到结果。

目的显然是确保当我们到达实际的临时物化转换时

7.3.4临时物化转换<br>1 T类型的prvalue可以转换为T类型的xvalue。这种转换通过使用临时对象作为结果对象对prvalue进行求值,从prvalue初始化T类型的临时对象(〔class.temorary〕),并生成表示临时对象的x值。[...]

它作为输入接收的类型 T 包括所需的 cv 资格。

但在非类非数组prvalue的情况下,cv限定如何在7.2.2/2中存活?

7.2.2 类型
2 如果 prvalue 最初具有类型“cv T”,其中 T 是 cv 非限定的非类、非数组类型,则在进行任何进一步分析之前,表达式的类型将调整为 T。

是吗?

E、 在这个例子中我们得到了什么样的临时性

const int &r = 42;

临时const是不是?我们可以做

const_cast<int &>(r) = 101; // Undefined or not?

而不会触发未定义的行为?如果我没有弄错的话,最初的意图是在这种情况下获得一个<code>const int</code>临时值。这仍然是真的吗?(对于类类型,答案很清楚-我们得到了一个<code>常量</code>临时值。)

共有1个答案

董庆
2023-03-14

你为什么怀疑7.2.2的语言?这似乎非常明确地表明,cv限定符在非类、非数组的 prvalue 上被丢弃,因此临时具体化中的类型 T 是非常量、非易失性类型。

如果不是这样的话,那么您将无法将prvalues绑定到非常量右值引用。然而,该标准似乎极有可能接受这样的项目:

#include <type_traits>

template<typename T> void
f(T &&t)
{
  static_assert(std::is_same_v<decltype(t), int&&>);
  ++t;
}

int
main()
{
  f(5);
}
 类似资料:
  • 同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。 Linux 内核开源项目有着为数众广的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。 到了 2005 年,开发 BitKeeper 的商业公司同 Linux

  • 本文向大家介绍Jquery日历插件制作简单日历,包括了Jquery日历插件制作简单日历的使用技巧和注意事项,需要的朋友参考一下 在页面开发中,经常遇到需要用户输入日期的操作。通常的做法是,提供一个文本框(text),让用户输入,然后,编写代码验证输入的数据,检测其是否是日期类型。这样比较麻烦,同时,用户输入日期的操作也不是很方便,影响用户体验。如果使用jQuery UI中的datepicker(日

  • 主要内容:2021简历自我介绍一,2021简历自我介绍二,2021简历自我介绍三,2021简历自我介绍四,2021简历自我介绍五,2021简历自我介绍六,2021简历自我介绍七,2021简历自我介绍八,2021简历自我介绍九,2021简历自我介绍十,2021简历自我介绍相关文章:2021简历自我介绍范文 简历,顾名思义,就是对个人学历、经历、特长、爱好及其它有关情况所作的简明扼要的书面介绍。简历中需要写自我介绍,应该怎么写呢?下面就是小编给大家带来的2021简历自我介绍范文,希望能帮助到大家!

  • 五点多开始 差不多面了一个小时 1.为什么选择测开 职业规划 2.项目 细说 3.关系型数据库和非关系型数据库区别 用过哪些?性能对比下 4.数据库的锁 悲观锁 乐观锁的使用 5.String Stringbuffer Stringbuilder区别 6.死锁的四个必要条件 如何结果死锁问题 7.spring bean注解四个注入方式 8.测试用例设计:支付宝转账功能 9.两个算法题:1.反转字符

  • 电话面,总共面了差不多40分钟(后15分钟都在写代码) 自我介绍 目前有做哪些项目 本科做了哪个?研究生在做什么项目?简单介绍一下 vue的MVVM vue 的View和model层如何交流 react和vue的区别 react的生命周期 react的view和model react的hook有没有了解 打包的工具是否有了解 node.js知道什么 项目是否有服务器端,了解什么 用什么组件库,组件

  • 主要内容:2021简单大方的简历自我介绍一,2021简单大方的简历自我介绍二,2021简单大方的简历自我介绍三,2021简单大方的简历自我介绍四,2021简单大方的简历自我介绍五,2021简单大方的简历自我介绍六,2021简单大方的简历自我介绍七,2021简单大方的简历自我介绍八,2021简单大方的简历自我介绍九,2021简单大方的简历自我介绍十,简单大方的简历自我介绍相关文章:简单大方的简历自我介绍2021 有些人问简历自我介绍包含哪些内容,简历自我介绍可以包含的内容有:姓名;爱好、籍贯、学历