c++ - 如何获取指向 std::map 中的一对的指针

标签 c++ dictionary stl

我想在 std::map<string,void*> 中存储对的不同顺序通过将指针插入 map 中的对到 vector<pair<string,void*>*>以所需的顺序。如何获取指向 map 中每一对的指针?

最佳答案

如果取消引用映射的迭代器,您将获得对该对的引用。获取该地址即可获得指向该对的指针。

auto it = map.begin();
auto ptr = &*it;

但是声明该对时要小心,因为第一个元素是 const:pair<const string, void *> 。或者使用std::map<string,void*>::value_type而不是成对。

关于c++ - 如何获取指向 std::map 中的一对的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33206767/

相关文章:

c++ - 从 STL 列表中删除特定节点

python - Pandas:创建一个包含列列表作为值的字典

android - 谷歌地图 v2 灰色空白页,只有缩放

c++ - 如何使用 std::vector<std::tuple<A,B>> 来管理内存(调整大小、保留...),但实际上保持 B 之前的 As 连续

c++ - Cmake 链接共享库 : "No such file or directory" when include a header file from library

swift 2 集合用于按值对键值对进行排序

c++ - typedef 和 const 指针的容器

android - 我如何告诉 Android Studio 将 GCC 4.9 与 CMake 一起使用?

c++ - 如何获取远程(即不在我的进程内)线程的堆栈跟踪?

c++ - 为什么指针分配的内存在函数之后仍然存在,而不是数组?