A [3] = 4; A [8] = 9; A [3] = 10; A [6] = 7; A [3] = 78;
例如......在这里,如何用键打印总值为3?
答案 0 :(得分:0)
由于地图中的每个键都是唯一的,因此答案为0
。
答案 1 :(得分:0)
无法为同一个密钥存储多个值。如果你想拥有多个值,你应该使用map<整型,矢量< int>>并迭代你的密钥的每个值。
答案 2 :(得分:0)
由于地图只能使用特定键保存单个值,因此答案始终为0(键不在地图中)或1(键在地图中)。
find
可以为您找到它:
typedef std::map<int, Foo> Map;
// untested code :-)
int numWithValue (const Map &mp, int val) {
return mp.find(val) != mp.end() ? 1 : 0;
}
如果您想使用相同的密钥存储多个值,那么multimap
可能是适合您的正确数据结构。
答案 3 :(得分:0)
如果需要为同一个键存储多个值,可以使用std :: multimap。
要知道键3有多少个值,请使用count
std::multimap<int, int> A = { { 3, 4 }, { 8, 9 }, { 3, 10 }, { 6, 7 }, { 3, 78 } };
A.count(3);