STL提供多种容器,由于每中容器都提供一组操作行为,所以各容器所包含的成员必须满足以下三个条件:
#元素必须是可拷贝的(可拷贝性经由拷贝构造函数完成)。所有容器都产生一份自己的元素副本,这样才不会发生alias问题(意旨两个不同的对象代表相同的一块内存)。所有容器操作行为传回的也都是其元素的一个副本。因此,拷贝构造函数的执行非常频繁。
#元素必须是可指派的(assignable通过assignment operator完成)。容器的操作行为以及各种STL algorithms都利用assignment operator来完成元素指派新值。
#元素必须是可以释放的(通过析构函数)。当使用者将元素从容器中删除时,意味容器必须释放其元素所占空间。因此元素类型所具备的析构函数绝不能设计为private容器。
STL容器元素要求
7603

被折叠的 条评论
为什么被折叠?



