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

深圳电子烟网站建设wordpress 主题king

深圳电子烟网站建设,wordpress 主题king,浏览器下载安装2023最新版,门户网网站seo怎么做C标准库-体系结构与内核分析 根据源代码来分析 介绍 自学C侯捷老师的STL源码剖析的个人笔记#xff0c;方便以后进行学习#xff0c;查询。 为什么要学STL#xff1f;按侯捷老师的话来说就是#xff1a;使用一个东西#xff0c;却不明白它的道理#xff0c;不高明标准库-体系结构与内核分析 根据源代码来分析 介绍 自学C侯捷老师的STL源码剖析的个人笔记方便以后进行学习查询。 为什么要学STL按侯捷老师的话来说就是使用一个东西却不明白它的道理不高明 Level 0 使用C标准库 标准库和STL是同样的东西吗 不是在标准库当中百分之80左右是STLSTL分为六大部件。 一些新旧标准 C标准库没有.h的后缀了例如#include vector新式的头文件不带.h例如#include cstdio但是原来的带有.h的依然可以使用命名空间把什么函数模板之类的可以封装起来新式的头文件以及组件都被封装到std当中 STL六大部件 容器分配器算法迭代器适配器分配器 容器容器要放东西东西要占用内存所以容器他非常好的是可以帮我们把内存的问题给解决掉你看不到内存这个东西只需要不断从容器当中放入/取出东西就好了所以容器的背后需要另外一个部件去支持它这个部件就是分配器数据在容器里面。分配器是用来支持容器的。算法有一些函数/操作是由容器做的但是更多的是包含在算法当中操作数据的操作在算法里面。迭代器如何用算法去操作数据呢使用迭代器也就是泛化指针。仿函数作用像是一种函数。适配器把容器/算法/迭代器做一些转换。 六大部件之间的关系 vectorint, allocatorint第二个参数是allocator。 以上为六大部件之间具体的联系与配合。在上方的程序当中lessint()这是标准库当中的一个仿函数然后他的作用是进行比较比如说a b然后现在利用了count_if这个算法其作用是找到我们指定目标的数值现在假如需要找到小于40的值但是仿函数少了第二参数所以就可以利用之前适配器的功能适配器就是把容器/算法/迭代器做出一些转换使用bind2nd这个转换即可有了第二参数40之后又进行函数的转换加了一个not1以前要找小于等于40现在要大于40。 #includevector #includealgorithm #includefunctional #includeiostreamusing namespace std;int main(void) {int ia[ 6 ] { 27, 210, 12, 47, 109, 83};vectorint, allocatorint vi(ia, ia6);cout count_if(vi.begin(), vi.end(), not1(bind2nd(lessint(), 40)));return 0; }结果 4...Program finished with exit code 0 Press ENTER to exit console.疑惑 仿函数less()这是标准库当中的一个仿函数然后他的作用是进行比较比如说a b适配器 复杂度 前闭后开的区间 把元素放到容器当中容器当然是有头有尾的所有容器都提供begin()end()迭代器头没有疑虑尾巴呢所谓容器的前闭后开区间标准库规定begin()要表示开始的启动end()表示最后一个元素的下一个元素。 ###容器的遍历C11之前的写法 ContainerT c; ... ContainerT::iterator ite c.begin(); for (; ite ! c.end(); ite)...最新的写法最推荐C11基于范围的for循环 for (auto decl : coll) {statement; } decl是一个声明coll是一个容器相比以前的写法方便太多了。 不是非必要的时候不用auto因为知道一个元素的类型还是很重要的。 容器的结构 容器的分类 1.序列式容器 序列式容器特点额外学习材料array一段连续空间不论是否使用都会全部占用arrayvector尾部可进可出当空间不够时会自动扩充vectordeque双向都可扩充两端都可进可出dequelist一个双向环状链表有向前后和向后两个指针listforward_list一个单向链表仅有向后一个指针forward_list 关联型容器 联式容器类似于key-value非常适合于查找操作 关联式容器名特点实现注释额外学习材料set/multisetkey和value是同一个BST存储是有序的红黑树加上multi意味着可以重复键值对setmultisetmap/multimap每一个key对应一个valueBST存储是有序的红黑树加上multi意味着可以重复键值对mapmultimapunordered_set/unordered_multiset相对于set/multiset存储是无序的哈希表加上multi意味着可以重复键值对unordered_setunordered_multisetunordered_map/unordered_multimap相对于map/multimap存储是无序的哈希表加上multi意味着可以重复键值对unordered_mapunordered_multimap在标准库当中并没有规定set和map用什么来实现但是用红黑树因为左右两边会自己平衡非常好所以各家IDE都用红黑树来做set和map。 map每一个节点都有key和valueset却没有明确划分。 选择普通的set和map里面的元素的key是不能重复的但是使用multiset以及multimap的时候里面的key是可以重复的。 哈希表的某一条链表不能太长因为单链表是要不断进行遍历的这样时间复杂度就会很高。
http://www.hkea.cn/news/14552545/

相关文章:

  • 南宁模板建站苏州有哪些做网站
  • 网站开发的选题意义及背景陕西交通建设集团公司网站
  • 做网站素材网引用评论框代码wordpress6
  • 如何在外管局网站做付汇延期企业网站托管备案
  • 南京的网站建设公司拓尔思网站建设公司
  • 德州 网站建设被网站管理员设置拦截
  • 规模大的企业建站wordpress拼团小程序
  • aspnet网站开发到部署流程浦口区网站建设
  • 易语言怎么做无限打开网站重庆是哪个省的城市哪个市
  • 做网站的技术要求做网站用哪个软件
  • 南昌新建网站建设济南网站建设公司官网
  • 哪些网站可以做平面设计上海十大科技公司
  • 深圳人才网官方网站网站链接推广
  • 做网站一条龙网页升级访问站
  • 网站和网页的概念wordpress memcached命中率
  • 一个网站多个域名 seowordpress数据库修复
  • seo网站推广佛山网站建设实验报告
  • 网站建设栏目说明为什么选择当网站设计人员
  • 网站排名前十浅析淘宝网站的建设与运营论文
  • 青岛网站建设企业建站手机做图片设计哪个软件好
  • 特产网站开发的目的福建银瑞建设工程有限公司网站
  • 为什么网站要域名解析工程造价招聘网最新招聘
  • 临沂网站案例网站设计宽屏
  • asp双语企业网站源码点击图片是网站怎么做的
  • 网站开发目录石家庄建设工程信息网
  • 网站推广临沂网站推广公司网站
  • 邢台建设专业网站软件公司简介模板100字
  • 网络销售网站有哪些网站做闪电电磁
  • 安卓移动网站开发详解网页设计的代码大全
  • espcms易思企业网站管理系统网页设计教程下载