1
123
C++标准称STL元素必须是“复制可构造”和“可赋值”。换句话说,一个元素必须能够被分配或复制,并且这两个元素在逻辑上是独立的。
以该代码为例:
为了克服这个限制,您应该使用
|
2
65
这个
拷贝语义
属于
具体来说,复制一个
更具体地说,复制
|
3
38
关于这一主题的两篇非常优秀的文章: |
4
17
STL容器需要能够复制存储在其中的项目,并且设计为期望原始和副本是等效的。自动指针对象有一个完全不同的约定,通过复制可以创建所有权转移。这意味着,根据使用情况,auto-ptr的容器将表现出奇怪的行为。 详细描述了有效STL(Scott Meyers)项目8中可能出错的内容,以及在有效的C++(Scott Meyers)项目13中不太详细的描述。 |
5
12
STL容器存储所包含项目的副本。复制自动指针时,会将旧指针设置为空。许多容器方法都被这种行为破坏了。 |
6
4
C++ 03标准(ISO-IEC 1488—2003) 如第20.4.5条第3段所述:
C++ 11标准(ISO-IEC 1488—2011) 如附录D.10.1第3段所述:
C++ 14标准(ISO-IEC 1488—2014) 见附录C.4.2 附录D:兼容性特征:
|