【发布时间】:2011-12-09 09:17:09
【问题描述】:
我有一组对象,在一些初始化过程中,我需要保存在一个 std::map 中,但在初始化之后我只需要一个 std::vector。有什么有效的方法可以将地图的值保存到向量中?
我正在寻找具有移动语义的东西,或者也许在 Boost 中有一些地图的实现可以让这更容易。
【问题讨论】:
-
你在做什么?或许你可以直接构造成
vector。
我有一组对象,在一些初始化过程中,我需要保存在一个 std::map 中,但在初始化之后我只需要一个 std::vector。有什么有效的方法可以将地图的值保存到向量中?
我正在寻找具有移动语义的东西,或者也许在 Boost 中有一些地图的实现可以让这更容易。
【问题讨论】:
vector。
这不应该做这项工作吗:
your_vector.reserve(your_map.size());
for(auto& item : your_map) {
your_vector.push_back(std::move(item.second));
}
【讨论】: