检测vector空间自动分配策略
2016-04-14 21:23
295 查看
看过《STL源码剖析》可以知道vector空间的自动分配策略是空间加倍。
由于stl的版本比较多,针对常用的两个做下检测,vs2012与gcc 5.3.0
size():获取当前使用大小
capacity():获取当前容器大小
分配100万次检测一下。
代码
实验结果:
vs2012 每次新增当前空间的1/2
g++ 5.3.0每次新增当前空间大小,亦即是倍增的
由于stl的版本比较多,针对常用的两个做下检测,vs2012与gcc 5.3.0
size():获取当前使用大小
capacity():获取当前容器大小
分配100万次检测一下。
代码
#include <vector> #include <iostream> void VectorTest() { std::vector<int> vTest; for (int i = 0; i < 1000000; ++i) { vTest.push_back(1); int nSize = vTest.size(); int nCapacity = vTest.capacity(); if (nSize == nCapacity) { std::cout<<nSize<<"\t"<<nCapacity<<std::endl; } } std::cout<<std::endl; };
实验结果:
vs2012 每次新增当前空间的1/2
g++ 5.3.0每次新增当前空间大小,亦即是倍增的
相关文章推荐
- TCP连接状态及三次握手四次挥手
- nyoj 105 九的余数(大数除小数) 水题
- Oracle-22-单行函数之数字函数
- 【Android Studio】提示代码忽略大小写
- Cloudstack网页打开404
- 时间和空间
- gen下R文件消失 && 工程无故报错
- 多态,运行时多态和编译时多态
- VS android应用启动调试Could not locate the Android Debug Bridge (adb.exe)
- Python实现ARCGIS栅格计算器con函数功能
- SGU 223(状压+dp)
- 复利计算-做汉堡,结对2.0-复利计算再升级
- 判断一个字符串中出现次数最多的字符,统计这个次数
- *108. Convert Sorted Array to Binary Search Tree
- Redis配置文件参数说明
- 小米4c 搜不到自家wifi
- BZOJ 3122 SDOI2013 随机数生成器
- 07 VoLTE - Signaling - IMS Client Deregistration
- Android各个版本API的区别
- ORACLE自动启动脚本