【发布时间】:2023-03-03 11:51:01
【问题描述】:
在 C++14 中,我尝试使用 map 来存储我需要快速访问的值。
其实问题是
我需要将
long long int映射到向量,但它应该包含 2 个值。我认为向量对适合这个。
示例:
5 做我的long long int
5 -> 我有
1,3
2,5
5,4
对于 89998 我有
6,899
8,8887
9999,566
等
unordered_map<long long,vector<pair<int,int>>>mp
但是不知道怎么访问和遍历
问题
1.如何将这些值添加到地图
2.如何访问它。可能的例子*
【问题讨论】:
-
一般来说,像“有没有可能做……”这样的问题总是可以回答为“是”。这里也是一样,是很有可能做到的。
-
请回答第二个老兄
-
至于语法,请记住映射
mp有一个重载的“索引”运算符,它返回对特定键值的引用。所以例如mp[5]可以用作向量,您可以对其进行迭代/遍历 (for (auto const& pair : mp[5]) { std::cout << pair.first << " - " << pair.second << '\n'; }),或将元素添加到 (mp[5].emplace_back(1, 3);) -
你的问题是什么?对于访问,使用,例如,索引
operator[]。对于遍历,使用例如迭代器或基于范围的 for 循环。这些是每本初学者 C++ 书籍中都提到的非常标准的方法。 -
"please help" is not an actual question。如果你展示你的代码试图访问和遍历它,解释它应该做什么以及它没有做什么,包括可能的错误、输入和输出,你可以把它变成一个很好的回答问题
标签: c++ c++14 unordered-map