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

老外用网页设计软件wordpress sharpseo优化网站教程

老外用网页设计软件wordpress sharp,seo优化网站教程,asp公司网站,预约网站模板STL是C/C开发中一个非常重要的模板#xff0c;而其中定义的各种容器也是非常方便我们大家使用。下面#xff0c;我们就浅谈某些常用的容器。这里我们不涉及容器的基本操作之类#xff0c;只是要讨论一下各个容器其各自的特点。STL中的常用容器包括#xff1a;顺序性容器开发中一个非常重要的模板而其中定义的各种容器也是非常方便我们大家使用。下面我们就浅谈某些常用的容器。这里我们不涉及容器的基本操作之类只是要讨论一下各个容器其各自的特点。STL中的常用容器包括顺序性容器vector、deque、list、关联容器map、set、容器适配器queue、stac。 1、顺序性容器 1vector vector是一种动态数组在内存中具有连续的存储空间支持快速随机访问。由于具有连续的存储空间所以在插入和删除操作方面效率比较慢。vector有多个构造函数默认的构造函数是构造一个初始长度为0的内存空间且分配的内存空间是以2的倍数动态增长的即内存空间增长是按照20,21,22,23.....增长的在push_back的过程中若发现分配的内存空间不足则重新分配一段连续的内存空间其大小是现在连续空间的2倍再将原先空间中的元素复制到新的空间中性能消耗比较大尤其是当元素是非内部数据时(非内部数据往往构造及拷贝构造函数相当复杂)。vector的另一个常见的问题就是clear操作。clear函数只是把vector的size清为零但vector中的元素在内存中并没有消除所以在使用vector的过程中会发现内存消耗会越来越多导致内存泄露现在经常用的方法是swap函数来进行解决  vectorint V;     V.push_back(1); V.push_back(2);V.push_back(1); V.push_back(2);     vectorint().swap(V); 或者 V.swap(vectorint());   利用swap函数和临时对象交换使V对象的内存为临时对象的内存而临时对象的内存为V对象的内存。交换以后临时对象消失释放内存。     2deque deque和vector类似支持快速随机访问。二者最大的区别在于vector只能在末端插入数据而deque支持双端插入数据。deque的内存空间分布是小片的连续小片间用链表相连实际上内部有一个map的指针。deque空间的重新分配要比vector快重新分配空间后原有的元素是不需要拷贝的。 3list list是一个双向链表因此它的内存空间是可以不连续的通过指针来进行数据的访问这使list的随机存储变得非常低效因此list没有提供[]操作符的重载。但list可以很好地支持任意地方的插入和删除只需移动相应的指针即可。 4在实际使用时如何选择这三个容器中哪一个应根据你的需要而定一般应遵循下面的原则     1) 如果你需要高效的随即存取而不在乎插入和删除的效率使用vector     2) 如果你需要大量的插入和删除而不关心随即存取则应使用list     3) 如果你需要随即存取而且关心两端数据的插入和删除则应使用deque 2、关联容器 1map map是一种关联容器该容器用唯一的关键字来映射相应的值即具有key-value功能。map内部自建一棵红黑树一种自平衡二叉树这棵树具有数据自动排序的功能所以在map内部所有的数据都是有序的以二叉树的形式进行组织。这是map的模板       template class Key, class T, class Compare lessKey, class Allocatorallocator pairconst Key,T class map; 从模板中我们可以看出再构造map时是按照一定的顺序进行的。map的插入和删除效率比其他序列的容器高因为对关联容器来说不需要做内存的拷贝和移动只是指针的移动。由于map的每个数据对应红黑树上的一个节点这个节点在不保存你的数据时是占用16个字节的一个父节点指针左右孩子指针还有一个枚举值标示红黑色所以map的其中的一个缺点就是比较占用内存空间。 2set set也是一种关联性容器它同map一样底层使用红黑树实现插入删除操作时仅仅移动指针即可不涉及内存的移动和拷贝所以效率比较高。set中的元素都是唯一的而且默认情况下会对元素进行升序排列。所以在set中不能直接改变元素值因为那样会打乱原本正确的顺序要改变元素值必须先删除旧元素再插入新元素。不提供直接存取元素的任何操作函数只能通过迭代器进行间接存取。set模板原型       template class Key, class CompareclassKey, class AllocSTL_DEFAULT_ALLOCATOR(Key) class set;   set支持集合的交(set_intersection)、差(set_difference)、并(set_union)及对称差(set_symmetric_difference) 等一些集合上的操作。 3、容器适配器 1queue queue是一个队列实现先进先出功能queue不是标准的STL容器却以标准的STL容器为基础。queue是在deque的基础上封装的。之所以选择deque而不选择vector是因为deque在删除元素的时候释放空间同时在重新申请空间的时候无需拷贝所有元素。其模板为     template TYPENAME _Sequencedeque_TP typeneam _Tp, class queue; 2stack stack是实现先进后出的功能和queue一样也是内部封装了deque这也是为啥称为容器适配器的原因吧纯属猜测。自己不直接维护被控序列的模板类而是它存储的容器对象来为它实现所有的功能。stack的源代码原理和实现方式均跟queue相同。
http://www.zqtcl.cn/news/917147/

相关文章:

  • 网站没有内容可以备案吗哪家网站设计好
  • 承德网站建设价格app 网站运营ppt
  • 外贸建站 服务器山西孝义网站开发
  • 廊坊网站建设开发全网整合营销公司
  • html网站建设流程网站模板二次开发
  • wordpress建站需要学什么意思sem扫描电镜
  • 总结 设网站门户网站开发一般多少钱
  • 政务网站无障碍建设wordpress虚拟资源主题
  • 确山专业网站建设百度一下一下你就知道
  • 设计类网站排名优秀广告案例
  • 自己做网站如何挣钱天津南开做网站
  • 小型教育网站的开发建设论文前端开发培训哪里好
  • 久免费域名注册网站朋友圈广告推广
  • 深圳著名设计网站西安管控最新消息
  • 珠海网站快速排名提升ftp查看网站后台密码
  • php电子商务网站源码百搜网络科技有限公司
  • 做外贸的网站怎么建立小说网站流量怎么做
  • 官网整站优化四川省造价工程信息网
  • 公司内部网站怎么建立网站建设与管理ppt
  • 做正规网站有哪些前端好学吗需要学多久
  • 1企业网站案例用自己服务器做网站用备案
  • 广州做啊里巴巴网站多少钱自贡公司做网站
  • 天津做家政的网站购物网站功能模块图
  • 哪个网站好网站赚钱的方式
  • 班级网站建设开题报告在线音乐网站开发摘要
  • 昆山装饰公司网站建设wordpress olve
  • 重庆哪个区最繁华百度seo排名规则
  • 长春火车站高清图片网站商城微信支付宝支付宝支付接口
  • 市场体系建设司在官方网站支付宝手机网站支付
  • dedecms 模版网站网站图标下载