我有一个 std::map
的 HANDLE
对象,
std::map<int, HANDLE> MyMap;
我必须使用 WaitForMultipleObjects() 函数等待这些句柄对象。为此,我必须将 map 内容作为 HANDLE 对象的数组获取。(如果它是一个 vector ,那么我们可以使用 vector.data() 函数)。我正在寻找这样一个简单的函数来实现这一点。
最佳答案
假设您使用的是较新版本的 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; });
关于c++ - 获取 map 内容作为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624273/