首页 > IT职业 > IT生活 > effective STL学习笔记(1)
1. STL的工作方式:拷进去,拷出来当你从容器中获取一个对象时,你所得到的对象不是容器里的那个对象。取而代之的是,当你向容器中添加一个对象(比如通过insert或push_back等),进入容器的是你指定的对象的拷贝
2. 容器中直接放入对象的问题
(1) (顺序容器)存在大量的数据移动,效率低
(2) 如果存在继承,则拷贝会导致分割
3. 解决方法
建立指针的容器而不是对象的容器
4. STL设计
STL进行了大量拷贝,但它通常设计为避免不必要的对象拷贝(与数组相比较)。如果声明一个含有num个数组,则就会有num个对象产生,而使用容器不会出现这种情况。
原因:
对于所有的标准容器,empty是一个常数时间的操作,但对于一些list实现,size花费线性时间。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/32405/viewspace-928009/ ,如需转载,请注明出处,否则将追究法律责任。