任何人都可以从ISON3242§3.2,第二点
解释这一说法非展示位置分配或 一个类的释放函数是 由a的定义使用的odr 那个类的构造函数。一个 非放置解除分配功能 对于一个班级来说,这是一个很有用的 析构函数的定义 上课,或者被选中 查找定义a 虚析构函数(12.4).26 A. 类的复制赋值函数 由隐式定义的odr使用 另一个的复制分配功能 12.8中规定的类。一个 类的移动赋值函数 由隐式定义的odr使用 移动分配功能为另一个 12.8中指定的类。
ISO标准2003说:
类的复制赋值函数 由隐式定义使用 另一个的复制分配功能 12.8中指定的类。
这些陈述的实际差异是什么?
任何人都可以用示例/程序来解释上面添加的内容......?
我知道移动构造函数/移动分配函数 - >添加了新功能。
任何人都可以借助示例/程序解释这一点吗?
请.............
请..........回答
答案 0 :(得分:4)
这个添加的基本原理,可以找到here的例子。简而言之,它清楚地说明了何时需要定义类的分配/释放函数。
(C ++ 03)一个定义规则要求程序中使用的每个变量或函数,对于"使用"的非常具体的定义,必须具有一个定义。 因此,当考虑(de)分配函数"使用"时,还要求定义何时需要定义。
为避免混淆单词"使用"的一般含义与"的含义混淆,使用"在ODR中定义,单词"使用"已被替换为" odr-use"无论何时意图第二个含义。