任何人都可以解释当前C++ 0x标准草案的这一段吗?

1Us*_*ser 6 c++ standards one-definition-rule c++11

任何人都可以从ISON3242§3.2第二点解释这一说法

类的非放置分配或释放函数由该类的构造函数的定义使用.类的非放置释放函数通过该类的析构函数的定义来使用,或者通过在虚拟析构函数的定义点处的查找来选择(12.4).26类的复制赋值函数由12.8中指定的另一个类的隐式定义的复制赋值函数使用.类的移动赋值函数由12.8中指定的另一个类的隐式定义的移动赋值函数使用.

ISO标准2003说:

类的复制赋值函数由12.8中指定的另一个类的隐式定义的复制赋值函数使用.

这些陈述的实际差异是什么?

任何人都可以用示例/程序来解释上面添加的内容......?

我知道移动构造函数/移动分配函数 - >添加了新功能.

任何人都可以借助示例/程序来解释这一点吗?

请.............

请回答

dec*_*ype 4

可以在此处找到此添加的基本原理和示例。简而言之,它澄清了何时需要定义类的分配/释放函数。

(C++03) 单一定义规则要求程序中使用的每个变量或函数,对于“使用”的非常具体的定义,必须具有完全相同的一个定义。因此,对分配(解除)分配函数何时被视为“已使用”的描述也强制要求何时需要定义。

为了避免“use”一词的一般含义与 ODR 中定义的“use”含义之间的混淆,只要指的是第二个含义,“use”一词就被替换为“odr-use”。