C++ 将从0到x的整数范围分配给容器的最快方法

C++ 将从0到x的整数范围分配给容器的最快方法,c++,c++11,C++,C++11,x是一个无符号整数。从运行时的角度来看,什么是声明容器/初始值设定项列表的最快和最优雅的方法,该列表中填充了从0到x的无符号整数 理想情况下,我希望解决方案是一条直线,沿着以下路线: std::vector<int> v = {0..x}; std::vector v={0..x}; 到目前为止,我已经做到了这一点,但我不确定性能: std::vector<int> v(x); std::generate_n(v.begin(), x, [] { static int

x
是一个无符号整数。从运行时的角度来看,什么是声明容器/初始值设定项列表的最快和最优雅的方法,该列表中填充了从0到
x
的无符号整数

理想情况下,我希望解决方案是一条直线,沿着以下路线:

std::vector<int> v = {0..x};
std::vector v={0..x};
到目前为止,我已经做到了这一点,但我不确定性能:

std::vector<int> v(x);
std::generate_n(v.begin(), x, [] { static int i = -1; ++i; return i;});
std::向量v(x);
std::generate_n(v.begin(),x,[{static int i=-1;++i;return i;});

< C++ > 11,C++的标准库中有一个函数专门针对这个:

。@ UsRu67267 DaaaaaMn我的谷歌Fub再次背叛了我,这正是我需要的!谢谢