容器中的元素

来源:互联网 发布:知到智慧树登陆 编辑:程序博客网 时间:2024/05/21 12:21

作为STL容器中的元素需满足至少以下三个条件:

1. 元素必须是可拷贝的通过拷贝构造函数。 通过拷贝得到的元素应该是和原来的元素等价的,这就意味着任何等于判断都应返回两者是相同的,而且两者的行为也是一样。

实际上所有的容器都会在内部创建它们元素的拷贝,然后返回临时的拷贝(当需要提供给外界的时候),所以拷贝构造函数是被调用的很频繁的,因此拷贝构造函数需要特别注意性能问题,如果拷贝对象需要大量时间,你可以通过使用引用来避免对象拷贝。

 

2.元素必须是可赋值的(assignable)通过赋值操作符(=),容器和算法使用赋值操作符去用新元素覆盖旧的元素。

 

3.元素必须是可销毁的(destroyable)通过析构函数。容器会销毁它们内部拷贝的元素当这些元素被从容器中移走的时候,因此元素的析构函数不能是私有的,而且,跟c++里一样,析构函数不能抛出异常(throw),否则所有之前的说法都将失效。

原创粉丝点击