属性值的结果
Result of a prvalue
[basic.lval]/5 表示:
prvalue 的结果是表达式存储到其上下文中的值。结果为值 V 的 prvalue 有时被称为具有或命名值 V。prvalue 的结果对象是由 prvalue 初始化的对象;用于计算内置运算符的操作数值或具有 CV void 类型的非丢弃 PrValue 没有结果对象...
"存储到其上下文中"是什么意思?这是我不明白的那一部分。
嗯,有一个 [basic.lval]/1.2 提到了这些上下文
prvalue 是一个表达式,其计算初始化一个对象或 位字段,或计算运算符的操作数的值,如 由它出现的上下文指定。
C++17 中更改下的 prvalue 本身不是值(保证复制省略),而是类似于延迟初始化对象(命名或临时)的"指令"。初始化尽可能晚地延迟,这就是"省略"副本的方式(但我跑题了)。短语"存储到其上下文中"意味着结果是这些指令在各自的上下文中为初始化这些对象而产生的结果。
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- valgrind-hellgrind与泄漏检查的结果不同
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 用C++20 fmt限制结果的总大小
- 如何返回一个类的两个对象相加的结果
- C++概念:如何使用'concept'检查模板化结构的属性?
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 使用QProcess执行命令,并将结果存储在QStringList中
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- 通过指向指针数组的指针访问子类的属性
- MSVC是否支持C++11样式的属性而不是__declspec
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 序列化,没有库的整数,得到奇怪的结果
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 在更改for循环的第三部分后,未使用for循环结果
- 类的C++属性似乎已重新初始化
- 属性值的结果
- 从ASP.NET应用程序查询Active Directory对象属性将返回旧结果
- 使用中间结果初始化多个属性