c++ - 在 map 上使用查找<pair, int>

标签 c++ dictionary

如何使用 const_iterator 查找如果您将 map 定义为

typedef std::pair<int, int> MyPair;
map<MyPair, int> MyMap;

pair定义为键。

如果它只是 map<int, int> , 我知道如何使用 const_iterator喜欢

typedef map<int, int> MyMap;
MyMap::const_iterator it = 
      MyMap.find(0);

// etc..

最佳答案

如果您不使用 C++11,最方便的方法是也为 map 类型做一个 typedef:

typedef std::map<MyPair, int> map_type;

然后

map_type::const_iterator it = MyMap.find(make_pair(0, 0));

(我还更改了传递给 find 的参数,因为裸 int 与您的 map 不兼容)。

如果你使用的是C++11,你也可以简单地做

auto it = MyMap.find(make_pair(0, 0));

关于c++ - 在 map 上使用查找<pair, int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246606/

相关文章:

jquery - 使用 $(selector).each 获取每个 div 的一个 div 内的多个输入框的值

Python 为自定义类定义 []、len()、items() 和 keys() 运算符

Javascript:在嵌套字典中添加键/值对;键和值是变量

c++ - 如何创建未知数量变量和未知类型变量的构造函数

c++ - 无法在以下代码中输入n(cin >> n)

python - 使用列表理解修改字典列表

javascript - 如何将对象的属性和值映射到表?

c++ - 找出迷宫解算器的最佳解决方案,带动画输出

c++ - 如何停止包含 while 的线程(1)

c++ - 动态构造字节数组并返回长度的函数