常用序列式容器包括vector、list、deque。本篇文章就来评析它们的迭代器,不同自增方式效率的不同。
在看这篇文章之前,大家可以先看看这篇文章:【C++】自增运算符重载及其效率问题-优快云博客,了解一下之前得出的结果。前面的文章其中一个结论是,在自定义类型的自增(自减)运算符重载时,++i
往往比i++
效率更高。这篇文章旨在验证这一点。
测试代码:
#include <bits/stdc++.h>
#include <synchapi.h>
using namespace std;
int main(){
vector<int>v(20000,1);//这里依次换为其他容器即可,其他部分不需要变
double start,end;//记录时间
for (int k = 0; k < 5; ++k) {
//重复测试5次
start=clock();
for (auto i=v.begin()