c++ map怎样根据索引的内容查找到key
展开全部
c++的std::map有两种方式可以实现依据索引的内容查找对应的键值
使用std::map的find接口。
例子如下:
std::map<std::string,int> mapTest;
std::map<std::string,int>::iterator it = mapTest.find("index");
if(it!=mapTest.end()) return it->second;
使用std::map的下标运算符重载
例子如下:
std::map<std::string,int> mapTest;
return mapTest["index"];
注意,对于第二种方式存在安全隐患。如果对应的索引并不存薯者在对应的键值的话,会有异常抛出。如果不捕获并处理的话可能导致程序崩溃。如果不确认索引是否存在键值,最好使用第一种方式,并添加册改查找失败数姿薯的处理。
展开全部
map<string,int>::iterator iter=ivec.find(k);
if(iter!=ivec.end())则找到
iter->first为迟伏key
iter->竖旦袜余激second为mapped
if(iter!=ivec.end())则找到
iter->first为迟伏key
iter->竖旦袜余激second为mapped
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只能遍历了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询