我想复制a
值来自foos
将向量转换为另一个向量,只需int
价值。最快的方法是什么?
#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
(
foos.begin(), foos.end(), std::back_inserter(somenumbers),
[](const Foo& v) { return v.a; }
);
另外,由于您知道向量的大小 - 您应该调用reserve.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)