gpt4 book ai didi

= 默认方法的 C++ 结果

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:00 24 4
gpt4 key购买 nike

有没有办法实际查看(输出到文件、控制台等)隐式编译器生成或= default 方法(在C++ 中)?

(目标编译器:vc、clang、gcc)

我想看看这些功能实际上是如何实现的。例如,赋值运算符如何赋值,它是否检查自赋值,是否给出了 const 的正确性等)。我没有在 www 上找到任何实际显示这些编译器生成函数的实现的统计结果。

最佳答案

“特殊成员”函数的语义由 C++ 标准定义,在 section 12

简而言之,他们按照您的想法行事;

  • 默认值将调用基和成员的默认值
  • 拷贝会调用基地和成员的拷贝
  • 这同样适用于移动、赋值和析构函数

如果由于某种原因,其中一个会违反 const 正确性或相应的构造函数或基类或成员的赋值不可用,或出现其他问题,那么该特殊成员是未声明。

一个附加说明;如果一个(或一些)特殊成员由用户定义(详细 here ),则有适用于默认值的特定规则。

关于= 默认方法的 C++ 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24753771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com