容器中的元素

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

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

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

 

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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值