一种实现方法是手动复制对中的所有第一个元素:
vector<int> foo(const vector<pair<int, int>> &source) {
std::vector<float> firsts;
firsts.reserve(source.size());
for (const auto& element : source) {
firsts.push_back(element.first);
}
return firsts;
}
有没有更有效的方法?
有一个similar问题,说我应该使用std::transform
。