【发布时间】:2016-02-17 12:31:00
【问题描述】:
在阅读this 关于复制和交换习语后,我阅读了this,它在 (2) 下说:
class_name & class_name :: operator= ( const class_name & ) (2)
(2) 复制赋值运算符的典型声明 复制和交换成语不能使用
我们什么时候应该避免使用复制和交换习语?
什么时候它完全“不能使用”?
是否存在复制和交换和零规则都不适用的现实案例?
我确实找到了这个question,但它太具体了,并且没有包含任何关于如何识别此类案例的指南。
【问题讨论】:
-
通常,复制和交换是简单且安全的,但从速度的角度来看可能不是最佳的。例如,分配两个包含一百万个元素的容器,执行一百万个分配可能比执行一百万个构造和一百万个销毁更快。
-
@user2079303 谢谢,那句话喝醉了,该回家了。希望现在更清楚了
-
复制/交换会影响您的性能的真实案例:stackoverflow.com/a/25942402/576911
标签: c++ copy-and-swap