Я хочу скопировать значения a
из вектора foos
в другой вектор с только значением 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
Что бы вы ни делали, позвоните 'reserve' на' somenumbers', прежде чем добавлять что-либо к нему. – NathanOliver