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

建设公司网站多少钱dede网站地图修改

建设公司网站多少钱,dede网站地图修改,社区论坛网站建设,济宁网站建设 企诺【C】STL初识 文章目录 【C】STL初识前言一、STL基本概念二、STL六大组件简介三、STL三大组件四、初识STL总结 前言 本篇文章将讲到STL基本概念#xff0c;STL六大组件简介#xff0c;STL三大组件#xff0c;初识STL。 一、STL基本概念 STL(Standard Template Library,标准…【C】STL初识 文章目录 【C】STL初识前言一、STL基本概念二、STL六大组件简介三、STL三大组件四、初识STL总结 前言 本篇文章将讲到STL基本概念STL六大组件简介STL三大组件初识STL。 一、STL基本概念 STL(Standard Template Library,标准模板库) STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator),容器和算法之间通过迭代器进行无缝连接。STL 几乎所有的代码都采用了模板类或者模板函数这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。 二、STL六大组件简介 STL提供了六大组件彼此之间可以组合套用这六大组件分别是:容器、算法、迭代器、仿函数、适配器配接器、空间配置器。 容器各种数据结构如vector、list、deque、set、map等,用来存放数据从实现角度来看STL容器是一种class template。算法各种常用的算法如sort、find、copy、for_each。从实现的角度来看STL算法是一种function tempalte.迭代器扮演了容器与算法之间的胶合剂共有五种类型从实现角度来看迭代器是一种将operator* , operator- , operator,operator–等指针相关操作予以重载的class template. 所有STL容器都附带有自己专属的迭代器只有容器的设计者才知道如何遍历自己的元素。原生指针(native pointer)也是一种迭代器。仿函数行为类似函数可作为算法的某种策略。从实现角度来看仿函数是一种重载了operator()的class 或者class template适配器一种用来修饰容器或者仿函数或迭代器接口的东西。空间配置器负责空间的配置与管理。从实现角度看配置器是一个实现了动态空间配置、空间管理、空间释放的class tempalte. STL六大组件的交互关系容器通过空间配置器取得数据存储空间算法通过迭代器存储容器中的内容仿函数可以协助算法完成不同的策略的变化适配器可以修饰仿函数。 STL优点STL 具有高可重用性高性能高移植性跨平台的优点。 三、STL三大组件 容器 常用的数据结构数组(array),链表(list),tree(树)栈(stack),队列(queue),集合(set),映射表(map),根据数据在容器中的排列特性这些数据分为序列式容器和关联式容器两种 序列式容器强调值的排序序列式容器中的每个元素均有固定的位置除非用删除或插入的操作改变这个位置。Vector容器、Deque容器、List容器等。 关联式容器是非线性的树结构更准确的说是二叉树结构。各元素之间没有严格的物理上的顺序关系也就是说元素在容器中并没有保存元素置入容器时的逻辑顺序。关联式容器另一个显著特点是在值中选择一个值作为关键字key这个关键字对值起到索引的作用方便查找。Set/multiset容器 Map/multimap容器 算法 算法分为:质变算法和非质变算法。 质变算法是指运算过程中会更改区间内的元素的内容。例如拷贝替换删除等等 非质变算法是指运算过程中不会更改区间内的元素内容例如查找、计数、遍历、寻找极值等等 迭代器 四、初识STL vector容器 vectorv vector::iterator itBegin v.begin(); //v.begin() 起始迭代器指向容器中第一个数据 vector::iterator itEnd v.end(); //v.end()结束迭代器指向的是容器中最后一个元素的下一个位置 利用算法遍历容器 for_each(v.begin(),v.end() , myPrint ) 头文件 algorithm 容器中存放自定义数据类型 容器中存放自定义数据类型指针 容器嵌套容器 #define _CRT_SECURE_NO_WARNINGS 1 #includeiostream using namespace std; #includevector #includealgorithm #includestring//原生指针也是迭代器 void test01() {int arr[5] { 1, 2,3 ,4,5 };int* p arr;for (int i 0; i 5; i){//cout arr[i] endl;cout *(p) endl;} }void myPrint(int val) {cout val endl; }void test02() {vectorint v; //创建一个victor容器容器中存放的元素是int 类型//插入元素v.push_back(10);v.push_back(20);v.push_back(30);v.push_back(40);//遍历元素vectorint::iterator itBegin v.begin(); //v.begin() 起始迭代器指向容器中第一个数据vectorint::iterator itEnd v.end(); //v.end()结束迭代器指向的是容器中最后一个元素的下一个位置//第一种遍历//while (itBegin ! itEnd)//{// cout *itBegin endl;// itBegin;//}//第二种遍历//for (vectorint::iterator it v.begin(); it ! v.end(); it)//{// cout *it endl;//}//第三种遍历for_each(itBegin, itEnd, myPrint);for_each(v.begin(), v.end(), myPrint); }//自定义数据类型 class Person { public:Person(string name, int age){this-m_name name;this-m_age age;}string m_name;int m_age; };void test03() {vectorPerson v;Person p1(aaa, 10);Person p2(bbb, 20);Person p3(ccc, 30);Person p4(ddd, 40);v.push_back(p1);v.push_back(p2);v.push_back(p3);v.push_back(p4);//每个容器都有自己的专属迭代器for (vectorPerson::iterator it v.begin(); it ! v.end(); it){cout 姓名 (*it).m_name 年龄 (*it).m_age endl;cout 姓名 it-m_name 年龄 it-m_age endl;}}//存放自定义数据类型指针 void test04() {vectorPerson* v;Person p1(aaa, 10);Person p2(bbb, 20);Person p3(ccc, 30);Person p4(ddd, 40);v.push_back(p1);v.push_back(p2);v.push_back(p3);v.push_back(p4);for (vectorPerson*::iterator it v.begin(); it ! v.end(); it){// * it ---- Person*cout 姓名: (*it)-m_name 年龄: (*it)-m_age endl;} }//容器嵌套容器 void test05() {vectorvectorintv;vectorintv1;vectorintv2;vectorintv3;for (int i 0; i 5; i){v1.push_back(i);v2.push_back(i 10);v3.push_back(i 100);}v.push_back(v1);v.push_back(v2);v.push_back(v3);for (vectorvectorint::iterator it v.begin(); it ! v.end(); it){for (vectorint::iterator vit (*it).begin(); vit ! (*it).end(); vit){cout *vit ;}cout endl;}}int main() {//test01();//test02();//test03();//test04();test05();system(pause);return EXIT_SUCCESS; }总结 STL六大组件 容器、算法、迭代器、仿函数、适配器、空间配置器 STL优点 内建在C编译器中不需要安装额外内容 不需要了解具体实现内容只要熟练运用即可 高复用可移植高性能 容器划分 序列式容器 关联式容器 有个key起到索引作用 算法 质变算法 非质变算法 STL初识 vector容器 vectorv vector::iterator itBegin v.begin(); //v.begin() 起始迭代器指向容器中第一个数据 vector::iterator itEnd v.end(); //v.end()结束迭代器指向的是容器中最后一个元素的下一个位置 利用算法遍历容器 for_each(v.begin(),v.end() , myPrint ) 头文件 algorithm 容器中存放自定义数据类型 容器中存放自定义数据类型指针 容器嵌套容器
http://www.dnsts.com.cn/news/261903.html

相关文章:

  • 宣传类网站在网站中动态效果怎么做
  • 外贸企业网站建设公司猪八戒网做网站如何
  • 上海专业做网站的公司有哪些免费微商城网站建设
  • 优秀平面广告设计安徽网站优化
  • 做淘宝还有必要做网站吗学院网站建设工作总结
  • seo网站排名淘宝客网站如何备案
  • 网站多服务器建设uc浏览器网页版打开
  • 在线网站地图生成器网站打开速度与服务器
  • 山西建设工程协会网站个人app
  • 什么网站能赚钱百度广告搜索推广
  • 百度推广网站怎么做网站模板设计举例
  • 我谁知道在哪里可以找人帮忙做网站网络工程公司如何接单
  • 公司宣传册ppt网站设计优化
  • 海南省住建设厅网站报监wordpress 游客访问
  • 漳州网站制作建立网站 营业执照
  • 学校网站内容建设方案wdcp v3搭建WordPress
  • 免费企业网站建设技术如何制作网页游戏
  • 毕业设计选择做网站的意义摄影网站图片
  • 做网站推广费用自己做民宿在什么网站上投放
  • 月付网站空间提供商滁州市城乡住房建设官网
  • 保定网站建设制作厦门seo顾问
  • 北京门户网站制作费用wordpress边栏插件
  • 网站开发项目建设经验二手车出口外贸流程
  • 京东网站开发多少钱注册网站的流程
  • 万网网站建设方案书 备案网站开发 简历项目经历
  • 淘客网站怎么与pid网址大全123 上网导航
  • 免备案手机网站html界面设计
  • 网站建设企业实践总结农产品如何建设网站
  • win2003网站建设中国新闻最新消息今天
  • 顺义网站建设附近室内装修公司电话