当前位置: 首页 > news >正文

c qq 互联网站开发代码公司网站建设意见

c qq 互联网站开发代码,公司网站建设意见,惠州谷歌优化,济南做网站那家好set和map就是我们上篇博客说的key模型和keyvalue模型。它们属于是关联式容器#xff0c;我们之前说过普通容器和容器适配器#xff0c;这里的关联式容器就是元素之间是有关联的#xff0c;通过上篇博客的讲解我们也对它们直接的关系有了一定的了解#xff0c;那么下面我们先… set和map就是我们上篇博客说的key模型和keyvalue模型。它们属于是关联式容器我们之前说过普通容器和容器适配器这里的关联式容器就是元素之间是有关联的通过上篇博客的讲解我们也对它们直接的关系有了一定的了解那么下面我们先看一下set的简单使用set其实翻译过来是集合的意思 可以看到set中的每个值都是唯一的不能有重复值它的底层就是一个二叉搜索树下面是它的构造函数 它有默认构造可以用一段迭代器区间构造还有拷贝构造它也是有迭代器的它的遍历顺序就是中序遍历为了使遍历是有序的 下面一个比较关键的就是它的insert它的insert具有排序加去重的功能就是说插入后就有序并且存在的值不会被插入。 并且这里面的key值是不允许修改的因为一旦修改他就不满足相应的性质了。下面一个是我们的find 可以看到如果成功找到就返回迭代器如果找不到就返回end()的迭代器所以我们就可以这么写 下面的删除函数也是比较简单的 下面有两个比较有用的函数就是 分别是下限和上限 这个是返回大于等于val值的最靠近begin的迭代器 这个是返回大于val值的最靠近begin的迭代器那么为什么叫上限和下限呢这都是有实际意义的它们两个组合到一起恰好可以组成一段左开右闭的区间比如像下面这样 我给定一个区间它就可以很好的打印并且我这里it2指向的值还是8 这就是左开右闭的意义 有了我们上面的set还有一个multiset它们的区别就是multiset可以存相同的值 我们这里的find就返回查找到的中序遍历的第一个值还有一个count函数就返回相同值的个数 说完了set我们说一下map翻译过来是映射的意思显而易见就是key和value之间的映射同样用来比较的key不能修改value是可以修改的。 我们可以看到我们不是要一次插入key和value嘛于是我们把他们放到一个对象里边这个对象的类是用类模板来生成的那我们先了解一下这个类模板pair 这是一个类模板有两个公有的成员first和second意味着我们可以直接访问。还有一个重要的函数 我们可以用来创建对象那我们就用map的insert来用一下pair我们pair是没有重载的所以我们自己去实现打印就是先打印first后打印second就像下面这样 我们的map中也是key值不能相同假如我插入一个与map中key值相同的那么它既不会插入也不会更新。下面一个非常重要的就是重载方括号 我们大概可以看出什么呢就是方括号中是一个key值并且这个函数返回key值对应的value值的拷贝。然后它又说这个函数相当于下面那个式子于是我们就需要看看insert函数有什么东西 我们看第一个函数声明它这里的value_type也给了解释不是我们之前说的kv中的v而是一个pair类的对象 它这里的返回值也是不同的虽然也是一个pair类的对象但是里边是一个位置一个bool值表示是否插入了 于是我们再返回方括号重载那里 把这个分一下我们就可以看出方括号重载的本质实际上是去调用insert调用完insert后取insert的返回值的first这是一个迭代器记录插入元素的位置再通过这个位置找到key对应的value再返回value的引用。由此可以看出重载方括号其实有insert的作用所以重载方括号有以下的作用 int main() {mapstring, stringdict;//先插入一些元素pairstring, string p1(banana, 香蕉);dict.insert(p1);dict.insert(pairstring, string(orange, 橘子));dict.insert({ apple,苹果 });dict.insert(make_pair(watermelon, 西瓜));//operator[]的作用dict[pear];//插入,不给value值就用value值的默认构造生成一个值cout dict[banana] endl;//查找value值dict[orange] 桔子;//修改value值dict[peach] 桃子;//插入修改value值for (auto e : dict) {cout e.first : e.second endl;}return 0; } 于是我们之前说的统计水果还可以用insert的返回值的特性实现 int main() {string str[] { 草莓,香蕉,苹果,橘子,草莓,香蕉,香蕉,苹果,橘子,草莓,香蕉, };mapstring, intm;for (auto e : str) {pairmapstring, int::iterator, bool ret;ret m.insert({e,1});if (ret.second false) {ret.first-second;}}for (auto e : m) {cout e.first : e.second endl;}return 0; } 同理我们还有一个multimap就是其中key值可以有相同的并且这个类是没有重载方括号的因为key值相同的两组元素value值不同这是没有办法实现的
http://www.hkea.cn/news/14512243/

相关文章:

  • 地方门户网站资讯该怎么做厦门谷歌seo
  • 陕西网站备案注销网页设计入门与提高
  • 搭建微擎网站后怎么做微官网小榄镇做网站公司
  • wordpress 站点迁移湖南网站建设推荐
  • 网站运营企业基础微网站开发口碑好
  • 采集网站后台客户数据nginx wordpress样式丢失
  • 杨浦企业网站建设陕西建设厅八大员官方网站
  • 东昌府聊城做网站公司如何在服务器里建设网站
  • 网站建设设计基础cn域名
  • 专业设计网站的公司站长收录查询
  • 网站可以做软著吗手机端做的优秀的网站
  • 民治营销型网站费用最新新闻事件今天报道
  • 洛阳市网站建设管理wordpress网页怎么上传到服务器
  • 网站建设怎么改首页的标题上海家装口碑最好的公司
  • 株洲网站建设公司排名购物商城网站功能设计
  • 潍坊网站建设制作烟台服装定制
  • 有做材料的网站吗wordpress安装主题后找不到后台入口
  • 哪里有网站模板下载免费网址大全
  • 响应式网站和传统网站异同北京网站手机站建设公司电话
  • ipv6 网站开发哪个网站可以做中文云文字
  • 制作宝安网站建设dedecms制作的网站
  • 海淀地区网站建设宜兴做网站
  • 平台类网站建设胡方案明细北京市运动会网站建设
  • 企业网站外包建设正规游戏代理加盟
  • 网站制作唐山公司wordpress 漂亮的博客
  • wordpress 侧边栏主题网站外推和优化
  • 做建筑效果图最好的网站河北省建设厅网站怎么登陆
  • 河北省建设机械会网站企业网站优化方案的策划
  • 北海住房和城乡建设局网站wordpress域名换了打不开
  • 本地部署iis部署网站深圳网站建设制作设计公司