特别会员功能-维基百科,免费百科全书说,如果满足条件,将自动生成下面列出的特殊成员函数。
Q1。如何看到编译器自动生成的特殊成员函数的实现?
Q2。实现依赖于编译器吗?或者是由C++标准定义的?
编辑-我的问题是编译器是如何生成函数的,而不是时的。我想知道编译器尽可能正确生成的源代码。我不认为这个问题是重复的c++ -编译器何时为类的特殊成员提供定义?-堆栈溢出。
发布于 2015-10-22 14:53:35
您无法确切知道编译器是如何实现特殊成员的。更确切地说,普通编译器不会直接向您显示它。您可以想象,编译器可以为这些特殊成员明确地生成源代码,但这不是必需的,我也不知道有什么需要。
标准只规定:
从不指定如何执行,因为1.9个程序执行intro.execution§1说
...conforming实现需要模拟(仅)抽象机器的可观察行为(),如下所述。
(强调我的)
注释将此定义为“如果”规则。
这一规定有时被称为“若即若揭”规则,因为执行可以自由地无视本国际标准的任何要求,只要结果是该要求得到遵守,只要能够从程序的可观察到的行为中确定。例如,一个实际的实现不需要评估一个表达式的一部分,如果它可以推断它的值没有被使用,并且没有产生影响程序的可观察行为的副作用。
https://stackoverflow.com/questions/33260200
复制相似问题