如何从std :: map检索所有键(或值)并将其放入向量中?
这是我出现的可能方法之一: struct RetrieveKey { template <typename T> typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map<int, int> m; vector<int> keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n")); 当然,我们还可以通过定义另一个函子RetrieveValues从映射中检索所有值。 还有其他方法可以轻松实现这一目标吗?(我一直想知道为什么std :: map不包含成员函数供我们这样做。)