概述
基本的下标
大家应该都知道STL库里面基本的下标吧!
基本定义如下:
T operator[](size_t);
当然,如果我们传递进去的值大于p.size()
那么就越界了。
map的下标
map除了支持基本的下标以外,还支持另一种下标:
map的模板是这样子的:
template<typename _Key,typename _Chart/*...*/>
class map{
//...
};
由于关键字是const的,所以下标运算符(map的)的参数是映射类型。(_Chart)
(下标运算符可能会改变数值)
map版的下标是:
_Chart operator[](const _Key);/*value_type*/
独特的下标
map独特的下标可以让查询map变得更快!(原因稍后解释)
大家所能想到的有哪些?
第一种,当然是最慢最笨的遍历了。
(给定一个_Key,找有没有相匹配的_Chart)
/*1.*/
map<string,int> m;
string o;
auto p=m.begin();
auto q=m.end();
while(p!=q)
{
if(p->first==o)
return true;
++p;
}
if(p==q)
return false;
还有呢?
第二种是下标因为如果下标运算符里面的参数在容器中不存在的话,它会新创建一个,所以只要调用size函数就好了。
map<string,int> m;
string o;
int p=m.size();
++m[o];
int q=m.size();
if(p==q)
return true;
return false;
如有错误,请在评论区指出,谢谢!
求阅读~~~
最后
以上就是从容板栗为你收集整理的日常一记:map独特的下标基本的下标map的下标独特的下标的全部内容,希望文章能够帮你解决日常一记:map独特的下标基本的下标map的下标独特的下标所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复