vector 中的clear()
2016-04-21 21:05
183 查看
为什么clear之后,还是输出fdsafdsa。
有什么办法可以真正清空之?
因为对于vector,clear并不真正释放内存(这是为优化效率所做的事),clear实际所做的是为vector中所保存的所有对象调用析构函数(如果有的话),然后初始化size这些东西,让你觉得把所有的对象清除了。。。
真正释放内存是在vector的析构函数里进行的,所以一旦超出vector的作用域(如函数返回),首先它所保存的所有对象会被析构,然后会调用allocator中的deallocate函数回收对象本身的内存。。。
相关文章推荐
- C经典 使用递归求x的y次方
- 共同学习Java源代码--常用工具类--AbstractStringBuilder(三)
- 递归系列之入门水题一
- 学习Android从0开始之ActionBar(活动条)之提高篇
- centos_security.txt - 2016-04-19 23:00
- 将jar文件加到Maven的local repository中
- DES 算法
- 如何使用VC++6.0发布程序(即release版本程序)
- 程序设计篇(1):学生经验值管理系统(单链表实现)
- GNS3-1.4 加 vm-iou 安装配置教程
- javascript 上传文件到 oss
- 山东省第五届ACM大学生程序设计竞赛-Weighted Median(模拟)
- 古典加密方法(一)代换技术
- 循环队列的综合操作(出入队、获取队长度)C语言实现
- C# structures 0011
- mqtt桥接模式部署配置
- Kyoya and Colored Balls(组合数)
- Dispatcher initialization failed:Unable to load configuration
- android pdf阅读开发
- LeetCode Product of Array Except Self