以数组形式获取地图的内容
Get contents of a map as an array
我有一个CCD_ 1的CCD_,std::map<int, HANDLE> MyMap;
我必须使用WaitForMultipleObjects()函数等待这些句柄对象。为此,我必须将地图内容作为HANDLE对象的数组。(如果它是一个向量,那么我们可以使用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; });
- 根据地图的大小在矢量中保留空间。请参阅"std::vector::reserve"成员
- 使用std::copy和std::back_inserter
相关文章:
- 如何遍历多个地图并获取它们的值? - C++
- 无法从地图获取key_type
- 无法调用未来::获取存储在地图中的未来
- 通过关键点向量从地图中获取地图
- 如何获取地图值的参考?
- 如何获取特定范围内的地图lower_bound?
- C++获取地图的关键字
- 如何获取地图中向量的第二个值?
- 获取地图值作为向量的最佳方法是什么
- 通过参考从地图获取对象
- 合成地图:从另一个地图获取数据
- 从地图中获取所有值
- 无序地图 - 使用const键获取值
- "Error: expected a '{' introducing a lambda body"尝试从地图<字符,字符中获取字符时> C++
- OSX "ld" : 如何显示未解析符号的损坏名称?如何获取地图文件?
- 获取与地图中查询相匹配的所有键
- 特征 - 从地图获取矩阵
- 程序在尝试获取地图值时崩溃
- 在不知道的情况下获取地图的钥匙
- 从文件中获取偏移量和大小以存储在地图中