2015-07-28 37 views
3

x是一個無符號整數。在運行時,最快和最優雅的方法是聲明一個容器/初始值設定項列表,填充0到x之間的無符號整數?將整數範圍從0到x分配給容器的最快方法

理想情況下,我想該解決方案是一個一行,沿着線的東西:

std::vector<int> v = {0..x}; 

這是我到目前爲止,但我不知道的性能:

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

['的std :: iota'](http://en.cppreference.com/W/CPP /算法/ IOTA)。 – user657267

+0

@ user657267 daaaaamn我的google-fu再次背叛了我,這是_exactly_我​​需要的!謝謝! – blue

回答

4

由於C++ 11,有在C++標準庫中的函數作爲此具體提出:std::iota

相關問題