获取地图的内容作为数组

Ane*_*nan 1 c++ stl std map

我有一个std::mapHANDLE对象, std::map<int, HANDLE> MyMap;

我必须使用WaitForMultipleObjects()函数等待这些句柄对象.为此,我必须将地图内容作为HANDLE对象的数组.(如果它是一个向量,那么我们可以使用vector.data()函数).我正在寻找这样一个简单的功能来实现这一目标.

Jer*_*fin 6

假设您正在使用VC++(2010或2012)或g ++(4.6或更新版本)的最新版本,您应该可以执行以下操作:

std::vector<HANDLE> handles;

std::transform(your_map.begin(), your_map.end(),
    std::back_inserter(handles),
    [](std::pair<const int, HANDLE> const &i) { return i.second; });
Run Code Online (Sandbox Code Playgroud)