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

你们需要网站建设网页版快手

你们需要网站建设,网页版快手,哪些店铺适合交换友情链接,wordpress 个人简介STL基础 诞生 cpp的面向对象和泛型编程的思想本质就是提高复用性诞生了STL库 基本概念 STL标准模板库STL从广义上分为容器、算法及迭代器容器和算法之间通过迭代器进行连接STL几乎所有的代码都采用了模板类或者模板函数 基本组件 容器、算法、迭代器、仿函数、适配器、空间配置…

STL基础

  • 诞生
    • cpp的面向对象和泛型编程的思想本质就是提高复用性
    • 诞生了STL库
  • 基本概念
    • STL标准模板库
    • STL从广义上分为容器、算法及迭代器
    • 容器和算法之间通过迭代器进行连接
    • STL几乎所有的代码都采用了模板类或者模板函数
  • 基本组件
    • 容器、算法、迭代器、仿函数、适配器、空间配置器
    • 容器
      • 各类数据结构
    • 算法
      • 各类常用算法
    • 迭代器
      • 容器和算法的胶合剂
    • 仿函数
      • 行为类似函数,可作为算法的某种策略
    • 适配器
      • 一种用来修饰容器或者迭代器接口的东西
    • 空间配置器
      • 负责空间的配置与管理
  • STL中容器、算法、迭代器
    • 容器就是运用最广泛的一些数据结构实现出来
    • 分类
      • 序列式容器
        • 强调值的排序,序列式容器中的每个元素均有固定的位置
      • 关联式容器
        • 二叉树结构,各元素之间没有严格的物理上的顺序关系
    • 算法
      • 质变算法—增删改
      • 非质变算法—查找遍历
    • 迭代器—可以初步认为是一种指针
      • 提供一种方法,使之能够依序寻访某个容器所含的各个元素
      • 每种容器都有特定的迭代器
      • 常用—双向迭代器和随机访问迭代器
  • vector
    • 存放内置数据类型
      • 容器—vector
      • 算法—for_each
      • 迭代器—vector<数据类型>::iterator
      • 简单举例
          #include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;//手写遍历过程void test1(void){//创建一个vector容器vector<int> v;//向容器中插入数据v.push_back(10);//尾插法v.push_back(20);//通过迭代器访问容器中的数据for(vector<int>::iterator vi = v.begin(); vi != v.end(); vi++){cout << *vi << endl;}}//采用STL标准库void Myprint(int val){cout<< val << endl;}void test2(void){vector<int> v;v.push_back(20);v.push_back(21);for_each(v.begin(), v.end(), Myprint);//回调技术}int main(){test1();test2();return 0;}
      
  • 存放自定义数据类型
  #include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;class Person{public:Person(string name, int age){this->m_age = age;this->m_name = name;}string m_name;int m_age;};void test1(void){vector<Person*> v_p;Person p1("p1", 10);Person p2("p2", 20);v_p.push_back(&p1);v_p.push_back(&p2);for(vector<Person*>::iterator it= v_p.begin(); it != v_p.end(); it++){cout << "my name is " << (*it)->m_name << " my age is " << (*it)->m_age << endl;}}int main(){test1();return 0;}
  • 容器中嵌套容器
  #include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;void test1(void){vector<vector<int> > v;vector<int> v_1;vector<int> v_2;for(int i = 0; i < 3; i++){v_1.push_back(i+1);v_2.push_back(i+2);}v.push_back(v_1);v.push_back(v_2);for(vector< vector<int> >::iterator v_o = v.begin(); v_o != v.end(); v_o++){//*v_o---是vector<int>类型---依然是一个指针for(vector<int>::iterator v_i = (*v_o).begin(); v_i != (*v_o).end(); v_i++){cout << *v_i << endl;}}}int main(){test1();return 0;}
http://www.15wanjia.com/news/170101.html

相关文章:

  • 如何管理网站域名图片模板制作app
  • 西安网站 技术支持牛商网同学录网站开发实现基本要求
  • 成都网站建设哪家比较好免费推广的平台都有哪些
  • 电子商务网站建设(论文网上自建网站开店
  • 模板展示网站源码o2o电商平台有哪些?
  • 做网站手机端不做PC可以吗光谷做网站推广哪家好
  • 站酷设计网页版seo需要培训才能找到工作吗
  • 如何自己建网站企业网站怎样登录建设银行官方网站
  • 网站被墙的原因做网站需要什么技术
  • 互联网网站制作巴中网站开发
  • 应用网站建设做微商网站公司
  • 天津网站建设诺亚宝盒 网站
  • 烽火台网站网站访问工具
  • 怎么给网站做 360快照网站前端工程师
  • 网站建设的优点与不足搜索引擎营销的内容
  • wordpress网站价格电脑建立网站平台
  • 透明网站模板住小帮室内装修图片大全
  • 订房网站开发商业网站建设案例教程
  • 彩票网站我想自己做手机wap网站开发教程
  • 如何自己做资源网站网站建设一点通
  • 网站快速备案安全吗网站产品设计规范 模板
  • 广东省网站开发建设凡科建站
  • 监测网站定制宁波网站建设 首选智尚网络
  • 济南网站假设推广营销网站建设是什么意思
  • 一般网站的前台功能模块电商平台设计公司
  • 郑州网站优化怎样做美食网站网页设计论文
  • 石家庄市城乡和建设局网站建立网站的基本过程
  • 中文域名做的网站有哪些网站开发开源代码
  • 网站开发得花多少钱网站建设推广话术
  • wordpress version网站整站优化公司