想知道vector<bool>有多坑人吗

来源:互联网 发布:python split 个数 编辑:程序博客网 时间:2024/04/28 03:58

跑一下下面的程序,看看vector<bool>的表现吧

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倍来比,还是可以接受的。

原创粉丝点击