我是靠谱客的博主 从容板栗,最近开发中收集的这篇文章主要介绍日常一记:map独特的下标基本的下标map的下标独特的下标,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基本的下标

大家应该都知道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的下标独特的下标所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部