我有一个:
vector<unsigned> v;
如何使用向量中的数字/值作为键来搜索
map <unsigned, unsigned>& mp
该地图由
map.insert(pair<unsigned, unsigned>(v, sthelse))
来自另一个数据集。
您不能使用 avector<unsigned>
作为关键字来搜索 a map<unsigned, unsigned>
。正如第一个模板参数所map<>
指示的那样,键的类型是unsigned
,而不是vector<unsigned>
。
您可以使用向量的成员作为键来搜索地图,如下所示:
for(i = 0; i < v.size(); ++i) {
auto it = mp.find(v[i]);
if(it != mp.end()) {
std::cout << "Look, Martha, we caught one! " << it->second << "\n";
}