什么是将地图的键集转换为键向量的有效方法

use*_*608 1 c++ stdmap std stdvector

什么是将map的键集转换为键的向量的有效方法,目前我正在迭代我的地图并将iter.first添加到vector中,这类似于Java的KeySet api?

jal*_*alf 5

一种方法是这样的:

std::vector<KeyType> v;
std::map<KeyType, ValueType> m;

v.reserve(m.size());
std::transform(m.begin(), m.end(), std::back_inserter(v), [](const std::pair<KeyType, ValueType>& p) { return p.first; });
Run Code Online (Sandbox Code Playgroud)