想知道vector<bool>有多坑人吗
2013-10-31 22:29
381 查看
跑一下下面的程序,看看vector<bool>的表现吧
不过也还好,在我的电脑上执行0x03200000次,速度差5倍,相比节约内存8倍来比,还是可以接受的。
void TestVectorBool(){ vector<bool> vecbool; vector<char> vecchar; const size_t vecsize = 0x03200000; for(size_t i = 0; i < vecsize; i++){ vecbool.push_back(true); vecchar.push_back(1); } DWORD start = timeGetTime(); size_t count = 0; for(size_t i = 0; i < vecsize; i++){ if(vecbool[i]) count += vecbool[i]; } printf("count=%u, %ums\n",count, timeGetTime() - start); count = 0; start = timeGetTime(); for(size_t i = 0; i < vecsize; i++){ if(vecchar[i]) count += vecchar[i]; } printf("count=%d, %ums\n", count, timeGetTime() - start); return; }
不过也还好,在我的电脑上执行0x03200000次,速度差5倍,相比节约内存8倍来比,还是可以接受的。
相关文章推荐
- 不使用vector<bool>的原因和替代方法
- 避免使用vector<bool>
- c++中bool数组与bitset,vector<bool>的使用与占用空间大小对比
- 条款18:避免使用vector<bool>
- 避免使用vector<bool>
- vector<bool>中的代理机制与程序运行效率
- 说一说vector<bool>
- 不用vector<bool>
- STL容器之vector<bool>
- 避免使用vector<bool>
- 说一说vector<bool>
- 例子需要包含头文件 #include <vector>
- 不使用vector<bool>的原因和替代方法
- Mat, vector<point2f>,Iplimage等等常见类型转换
- vector<char> 容器初始化 string 对象 两种方法
- vector<string>转换为char*[]
- 11/7/2 STL vector<T> (2)
- vector<<vector> >
- Cocos2d-x中Vector<T>容器以及实例介绍
- 一些特殊容器:string,bitset,vector<bool>,空容器