我想將foos
向量中的a
值複製到另一個向量中,其值僅爲int
。什麼是最快的方法來做到這一點?C++將對象向量中的元素複製到具有此元素的向量中
#include <vector>
struct Foo {
int a;
};
int main() {
std::vector<Foo> foos;
for(int i = 0; i < 100; i++)
foos[i].a = i;
std::vector<int> somenumbers;
//Fastest way to copy the ints from the struct into the somenumbers vector?
return 0;
}
使用[std :: transform](http://en.cppreference.com/w/cpp/algorithm/transform),然後在試圖優化它之前確定它實際上是一個瓶頸。 – Borgleader
無論你做什麼,在添加任何東西之前,先在'somenumbers'上調用'reserve'。 – NathanOliver