我正在尝试将一个地图拷贝到一个pair类型的向量中,以便我可以通过这些pair的second
数据成员对向量进行排序。我已经解决了这个问题,方法如下:
void mappedWordsListSorter(){
for (auto itr = mappedWordsList.begin(); itr != mappedWordsList.end(); ++itr){
vectorWordsList.push_back(*itr);
}
sort(vectorWordsList.begin(), vectorWordsList.end(), [=](pair<string, int>& a, pair<string, int>& b){return a.second > b.second;});
}
我需要找到一种方法,在不使用原始循环的情况下,使用标准库来实现。我已经遇到了很多示例,只传输映射的键或值中的一个。我需要将它们复制到pairs<string, int>
的向量中。最好的方法是什么?
第二个
项目上,而不是键。 - StoryTeller - Unslander Monica[=]
不应该存在。但仅仅因为它存在并不意味着 所有东西 都会被复制。Lambda 表达式必须从周围的作用域中使用某些内容来捕获它。 - StoryTeller - Unslander Monica[=]
不会产生性能损失。 - NathanOliver