这三种填充向量的方法之间是否存在性能差异?
#include <vector>
#include <numeric>
#include <algorithm>
#include <iterator>
int main()
{
std::vector<int> v(10);
std::iota(v.begin(), v.end(), 0);
std::vector<int> v2(10);
int i = 0;
std::generate(v2.begin(), v2.end(), [&i](){return i++; });
std::vector<int> v3(10);
i = 0;
for (auto& j : v3)
{
j = i++;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我知道它们都会产生相同的结果,我只想知道较大的矢量是否存在速度差异.不同类型的答案会有所不同吗?