我在[class.copy.elision]中找不到引用来确认初始化`T x = T();`是否符合强制性复制省略的条件

亚力山大

cppreference.com列举了两种强制删除复制/移动操作的情况我对第二种情况感兴趣,如下所示:

在对象的初始化中,当初始化器表达式是与变量类型相同的类类型(忽略cv限定)的prvalue时。

因此,以下初始化将强制删除复制操作:

T x = T();

实际上,当删除T的副本构造函数时,此初始化不会在C ++ 14中进行编译,但是会在c ++ 17中进行编译(请参见示例),如cppreference.com中所述。

但是我在[class.copy.elision]找不到支持此报价的报价

讲故事的人-Unslander Monica

那是因为措辞在[dcl.init] /17.6.1中

  • 否则,如果目标类型是(可能是cv限定的)类类型:

    • 如果初始化程序表达式是prvalue,并且源类型的cv不合格版本与目标程序的类相同,则使用初始化程序表达式初始化目标对象。[示例:T x = T(T(T())); 调用T的默认构造函数初始化x。—结束示例]

保证复制省略涉及对价值类别的行为和交互方式的巧妙改变。因此,它分布在标准中的多个位置。您可以通过查看原始提案来查看它们

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

内联变量仿真:我可以使用全局静态引用来强制函数中静态变量的初始化顺序吗?

来自分类Dev

GeneratorOf <T>找不到初始化错误

来自分类Dev

在AspectJ中实施具体方面是否是强制性的

来自分类Dev

python复制模块中copy.copy和copy.deepcopy的相等性

来自分类Dev

@ 3x图像是强制性的吗?

来自分类Dev

@ 3x图像是强制性的吗?

来自分类Dev

如何从 char 数组强制转换 /copy 以便我可以将它存储在 char 指针数组中?

来自分类Dev

Valgrind“未初始化的值”依赖性未引用我的代码

来自分类Dev

EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

来自分类Dev

EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

来自分类常见问题

Dockerfile中的条件COPY / ADD?

来自分类Dev

copy.copy是否与python中的赋值不同

来自分类Dev

使类变量初始化为强制性的最佳方法

来自分类Dev

在keras中将CNN与LSTM一起使用时,池化层是否是强制性的?

来自分类Dev

如果找不到我的emacs初始化文件怎么办?

来自分类Dev

RSpec找不到我的控制器未初始化的常量

来自分类Dev

在 C++ 中复制对未初始化对象的引用

来自分类Dev

尽管存在文件,但在ant.copy中找不到要复制的文件

来自分类Dev

setNumThreads(x)是否可以并行化我的OpenCV代码?

来自分类Dev

setNumThreads(x)是否可以并行化我的OpenCV代码?

来自分类Dev

Sql Azure中的强制性主键

来自分类Dev

检查API中的强制性参数

来自分类Dev

链表中的Destructor是强制性的吗?

来自分类Dev

Sql Azure中的强制性主键

来自分类Dev

Qt QList <T>强制转换和node_copy

来自分类Dev

在Mac OS X上应该初始化我的Git存储库的首选路径吗?

来自分类Dev

即使我确实为变量设置了初始值,也未在程序集x86中初始化数据段

来自分类Dev

是否可以在ResourceDictionary文件中设置多个“ x:Class”?

来自分类Dev

表格...我如何使这些部分成为强制性的?

Related 相关文章

  1. 1

    内联变量仿真:我可以使用全局静态引用来强制函数中静态变量的初始化顺序吗?

  2. 2

    GeneratorOf <T>找不到初始化错误

  3. 3

    在AspectJ中实施具体方面是否是强制性的

  4. 4

    python复制模块中copy.copy和copy.deepcopy的相等性

  5. 5

    @ 3x图像是强制性的吗?

  6. 6

    @ 3x图像是强制性的吗?

  7. 7

    如何从 char 数组强制转换 /copy 以便我可以将它存储在 char 指针数组中?

  8. 8

    Valgrind“未初始化的值”依赖性未引用我的代码

  9. 9

    EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

  10. 10

    EasyMock.createStrictMock(class <T> x)和EasyMock.createNiceMock(class <T> x)之间的区别

  11. 11

    Dockerfile中的条件COPY / ADD?

  12. 12

    copy.copy是否与python中的赋值不同

  13. 13

    使类变量初始化为强制性的最佳方法

  14. 14

    在keras中将CNN与LSTM一起使用时,池化层是否是强制性的?

  15. 15

    如果找不到我的emacs初始化文件怎么办?

  16. 16

    RSpec找不到我的控制器未初始化的常量

  17. 17

    在 C++ 中复制对未初始化对象的引用

  18. 18

    尽管存在文件,但在ant.copy中找不到要复制的文件

  19. 19

    setNumThreads(x)是否可以并行化我的OpenCV代码?

  20. 20

    setNumThreads(x)是否可以并行化我的OpenCV代码?

  21. 21

    Sql Azure中的强制性主键

  22. 22

    检查API中的强制性参数

  23. 23

    链表中的Destructor是强制性的吗?

  24. 24

    Sql Azure中的强制性主键

  25. 25

    Qt QList <T>强制转换和node_copy

  26. 26

    在Mac OS X上应该初始化我的Git存储库的首选路径吗?

  27. 27

    即使我确实为变量设置了初始值,也未在程序集x86中初始化数据段

  28. 28

    是否可以在ResourceDictionary文件中设置多个“ x:Class”?

  29. 29

    表格...我如何使这些部分成为强制性的?

热门标签

归档