effective stl读书笔记 —— Item 3
来源:互联网 发布:快刀软件破解版 编辑:程序博客网 时间:2024/05/22 01:39
Item 2(确保容器中的对象拷贝正确而高效)
容器对象的传递是按拷贝的,也就是说当你将一个对象传给容器时,传递的是它的一个拷贝(也就是掉用了对象的拷贝构造函数和operator=),进去的是拷贝,出来的也是拷贝(copy in , copy out)。
一个要注意的地方是拷贝时对象的剥离(splicing),也就是你创建了一个存放基类(或指向基类的指针)的容器,却向其中插入派生类的对象,那么在向容器拷贝派生类对象时,会导致派生类特有部分丢失(如派生类特有的成员变量、非虚函数等):
vector<Widget> vw;
class SpecialWidget: public Widget {……}; // SpecialWidget 是 Widget的派生类
SpecialWidget sw;
vw.push_back (sw); //sw特有部分的数据将丢失
- effective stl读书笔记 —— Item 3
- effective stl读书笔记 —— Item 19
- effective stl读书笔记 —— Item 1
- effective stl读书笔记 —— Item 2
- effective stl读书笔记 —— Item 4
- effective stl读书笔记 —— Item 5
- effective stl读书笔记 —— Item 6
- effective stl读书笔记 -- Item 6
- 《Effective STL》读书笔记四:Item 6 - 9
- Effective STL 读书笔记 3
- effective STL 读书笔记——第一章:容器
- 《Effective STL》读书笔记五:Item 10 - 11:关于allocator
- effective stl item 6
- Effective-Objective-C-读书笔记-Item-3
- effective STL 读书笔记——第二章:vector和string
- effective STL 读书笔记——第三章:关联容器
- effective STL 读书笔记——第四章:迭代器
- effective STL 读书笔记——第五章:算法
- 网际数据库免费注册码
- vi配置文件集合
- 也该写写东西了
- 07.01.08
- 走走逛逛,抬头看看,低头望望
- effective stl读书笔记 —— Item 3
- .net2.0之杂七杂八(4)
- 为什么英文的windows操作系统安装中文的软件会出现乱码?
- linux基本操作命令
- gcc profiling的工作原理
- 设计模式学习记录(设计要求-GRASP模式)
- A*路径寻找算法入门
- 深入A*算法
- 将 JavaScript 与 ASP.NET 2.0 配合使用