首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何了解特殊成员函数实现编译器的自动生成?

如何了解特殊成员函数实现编译器的自动生成?
EN

Stack Overflow用户
提问于 2015-10-21 13:07:18
回答 1查看 154关注 0票数 1

特别会员功能-维基百科,免费百科全书说,如果满足条件,将自动生成下面列出的特殊成员函数。

  • 默认构造函数
  • 复制构造函数
  • 移动构造函数
  • 复制赋值算子
  • 移动赋值算子
  • 破坏者

Q1。如何看到编译器自动生成的特殊成员函数的实现?

Q2。实现依赖于编译器吗?或者是由C++标准定义的?

编辑-我的问题是编译器是如何生成函数的,而不是时的。我想知道编译器尽可能正确生成的源代码。我不认为这个问题是重复的c++ -编译器何时为类的特殊成员提供定义?-堆栈溢出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-22 14:53:35

您无法确切知道编译器是如何实现特殊成员的。更确切地说,普通编译器不会直接向您显示它。您可以想象,编译器可以为这些特殊成员明确地生成源代码,但这不是必需的,我也不知道有什么需要。

标准只规定:

  • 当编译器自动生成这些成员时(在这个问题中回答)
  • 这些自动生成的成员应该做什么?

从不指定如何执行,因为1.9个程序执行intro.execution§1说

...conforming实现需要模拟(仅)抽象机器的可观察行为(),如下所述。

(强调我的)

注释将此定义为“如果”规则。

这一规定有时被称为“若即若揭”规则,因为执行可以自由地无视本国际标准的任何要求,只要结果是该要求得到遵守,只要能够从程序的可观察到的行为中确定。例如,一个实际的实现不需要评估一个表达式的一部分,如果它可以推断它的值没有被使用,并且没有产生影响程序的可观察行为的副作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33260200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档