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

私人订制网站的建设的设计表php网站开发招聘

私人订制网站的建设的设计表,php网站开发招聘,做网络写手最好进那个网站,企业为什么要做培训前言 大家好吖#xff0c;欢迎来到 YY 滴C系列 #xff0c;热烈欢迎#xff01; 本章主要内容面向接触过C的老铁 主要内容含#xff1a; 欢迎订阅 YY滴C专栏#xff01;更多干货持续更新#xff01;以下是传送门#xff01; 目录 一、vector类——基本介绍二、vector类… 前言 大家好吖欢迎来到 YY 滴C系列 热烈欢迎 本章主要内容面向接触过C的老铁 主要内容含 欢迎订阅 YY滴C专栏更多干货持续更新以下是传送门 目录 一、vector类——基本介绍二、vector类——使用环境准备三、vector类——文档查看四、vector构造初始化【1】四种构造方式总结【2】四种构造方式 [代码演示][ 1 ] 无参构造[ 2 ] 构造并初始化n个val[ 3 ] 拷贝构造[ 4 ] 利用两种迭代器区间初始化一、相关iterator二、用其它类型初始化出现的问题三、利用指针初始化 五、vector的访问及遍历操作[ 1 ] find[ 2 ] operator[ ][ 3 ] vector的 访问及遍历操作 [代码演示]——迭代器 六、vector 增删查改[1] 尾插尾删[3] 头插——insert[4] 清除——erase[4-PLUS] 清除特定位置——erase find函数1find函数2代码演示 七、vector 空间相关函数【1】空间相关函数总结【2】sizecapacity [代码演示]【3】empty [代码演示]【4】reserveresize使用 [代码演示] 一、vector类——基本介绍 vector是表示 可变大小数组 的序列容器。就像数组一样vector也采用的连续存储空间来存储元素。也就是意味着可以 采用下标 对vector的元素进行访问和数组一样高效。但是又不像数组它的大小是可以 动态改变的而且它的大小会被容器自动处理。本质讲vector使用动态分配数组来存储它的元素。当新元素插入时候这个数组需要被重新分配大小为了增加存储空间。其做法是分配一个新的数组然后将全部元素移到这个数组。就时间而言这是一个相对代价高的任务因为每当一个新的元素加入到容器的时候vector并不会每次都重新分配大小。vector分配空间策略vector会分配一些额外的空间以适应可能的增长因为存储空间比实际需要的存储空间更大。不同的库采用不同的策略权衡空间的使用和重新分配。但是无论如何重新分配都应该是对数增长的间隔大小以至于在末尾插入一个元素的时候是在常数时间的复杂度完成的。与其它动态序列容器相比deque, list and forward_list vector在访问元素的时候更加高效在末尾添加和删除元素相对高效。对于其它不在末尾的删除和插入操作效率更低。比起list和forward_list统一的迭代器和引用更好。 二、vector类——使用环境准备 在使用string类时必须包含#includevector #includeiostream以及 展开命名空间using namespace std; 三、vector类——文档查看 查看所有接口网站https://cplusplus.com 四、vector构造初始化 【1】四种构造方式总结 构造函数声明功能说明 vector()重点无参构造 vectorsize_type n, const value_type val value_type() 缺省构造并初始化n个valvector (const vector x); 重点 拷贝构造 vector (InputIterator first, InputIterator last); 使用迭代器进行初始化构造 这里用的迭代器不一定是vector的可以给其他类型的迭代器 【2】四种构造方式 [代码演示] [ 1 ] 无参构造 vectorint v1(); [ 2 ] 构造并初始化n个val //构造并初始化n个valvalue可以是整型string等等 // 内是val类型vectorint v1(10, 1); vectorstring v2(10, ***);for (auto e : v1){cout e ;}cout endl;[ 3 ] 拷贝构造 vectorint v1(10, 1); vectorint v2(v1)[ 4 ] 利用两种迭代器区间初始化 一、相关iterator 此处大家可暂时将迭代器理解成一个指针该指针指向list中的某个节点 【注意点】 begin与end为正向迭代器对迭代器执行操作迭代器向后移动rbegin(end)与rend(begin)为反向迭代器对迭代器执行操作迭代器向前移动 iterator的使用接口说明begin end重点获取第一个数据位置的iterator/const_iterator 获取最后一数据的下一个位置的iterator/const_iterator rbegin rend 获取最后一个数据位置的reverse_iterator获取第一个数据前一个位置的reverse_iterat // 自己类型的迭代器同是intvectorint v1(10, 1); vectorint v3(v1.begin(), v1.end());//别人类型char的迭代器string str(hello world);vectorchar v4(str.begin(), str.end());二、用其它类型初始化出现的问题 运行以下代码时会发现原本应该打印【hello world】结果却是【104 101 108 108 111 32 119 111 114 108 100】 原因是char转换成int会进行【 整型提升 】打印出ASCALL码值 //别人类型char的迭代器string str(hello world);vectorchar v4(str.begin(), str.end());for (auto e : v4){cout e ;}cout endl;三、利用指针初始化 我们知道迭代器行为是模拟指针所以迭代器可以类比成 “指针”可以用以下形式初始化 int a[] { 16,2,77,29 };vectorint v5(a, a4);五、vector的访问及遍历操作 vector访问说明find查找operator[] 重点像数组一样访问iterator迭代器while循环auto范围for [ 1 ] find [ 2 ] operator[ ] vectorint v;for (size_t i 0; i v.size(); i){cout v[i] ;}cout endl;[ 3 ] vector的 访问及遍历操作 [代码演示]——迭代器 vectorint::iterator it v.begin();while (it ! v.end()){cout *it ;it;}cout endl;for (auto e : v){cout e ;}cout endl;六、vector 增删查改 vector增删查改接口说明push_back重点 尾插pop_back 重点 尾删insert在position之前插入valerase删除position位置的数据swap交换两个vector的数据空间 [1] 尾插尾删 vectorstring v;string name1(hello world);v.push_back(name1);v.push_back(string(hello world));v.push_back(hello world);[3] 头插——insert int a[] { 16,2,77,29,3,33,43,3,2,3,3,2 };vectorint v1(a, a sizeof(a)/sizeof(int));//指针类比利用迭代器区间初始化 // 头插 v1.insert(v1.begin(), 100);[4] 清除——erase int a[] { 16,2,77,29,3,33,43,3,2,3,3,2 };vectorint v1(a, a sizeof(a)/sizeof(int));//指针类比利用迭代器区间初始化 // 头删v1.erase(v1.begin());[4-PLUS] 清除特定位置——erase find函数 1find函数 2代码演示 int a[] { 16,2,77,29,3,33,43,3,2,3,3,2 };vectorint v1(a, a sizeof(a)/sizeof(int));//指针类比利用迭代器区间初始化// 删除3但是不知道3在哪个位置怎么办find//vectorint::iterator pos find(v1.begin(), v1.end(), 3);//利用关键字autoauto pos find(v1.begin(), v1.end(), 3);if (pos ! v1.end()){v1.erase(pos);}七、vector 空间相关函数 【1】空间相关函数总结 容量空间功能说明size获取数据个数capacity获取容量大小empty判断是否为空如果为空 即不存在、已被赋值为null、false、0、或未定义则返回true 否则返回 false 。 resize重点 改变vector的size reserve 重点 改变vector的capacity capacity的代码在vs和g下分别运行会发现vs下capacity是按1.5倍增长的g是按2倍增长的。 这个问题经常会考察不要固化的认为vector增容都是2倍具体增长多少是根据具体的需求定义 的。vs是PJ版本STLg是SGI版本STL。reserve只负责开辟空间如果确定知道需要用多少空间reserve可以 缓解vector增容的代价缺陷问题。 resize在开空间的同时还会 进行初始化 影响size。 【2】sizecapacity [代码演示] vectorint v1;int _sizecapacity(v1);int _capacitycapacity(v1);【3】empty [代码演示] vectorint v1;v1.resize(10);empty(v1);//返回false【4】reserveresize使用 [代码演示] vectorint v1;v1.resize(10);for (size_t i 0; i 10; i){v1[i] i;}vectorint v2;v2.reserve(10); }
http://www.hkea.cn/news/14449128/

相关文章:

  • 界面做的比较好的网站德吉机械东莞网站建设
  • 貴阳建设银行网站网页设计个人网页html代码
  • 移动端的网站模板dw个人网站制作
  • 白云区专业网站建设外包项目网站
  • 网站名称注意事项荔枝fm入口
  • 海西州电子商务网站建设公司WordPress文章归档错误
  • 万网云服务器怎么上传网站邮箱购买自动发卡
  • 港闸网站建设网站建设与应用 教案
  • 宿迁网站建设SEO优化营销响水做网站的价格
  • 凡科免费建站台州自助建站公司
  • 岳溥庥网站建设用网站做自我介绍自己
  • 免费站长统计工具网站开发 技术架构
  • 网站建设拾金手指下拉二一腾讯小程序官网首页
  • 那里有做网站网站推广公司大家好
  • wordpress制作购物网站网站设计原型图怎么做
  • 如何做一份网站的数据分析深圳网页设计与制作工资多少钱
  • 网站开发要哪些免费领取手机网站
  • 网站建设 营业执照 经营范围做便民网站都需要哪些模块
  • 请详细说明网站开发流程及原则框架做网站指的是
  • 网站平台开发与应用面试上海自贸区注册公司流程和费用
  • 网站上的高清动态图怎么做的凌晨三点看的片韩国
  • 网站查备案密码手工制作网站
  • 贵阳网站定制开发佛山网站快照优化公司
  • wordpress站内链接电商网站的支付模块怎么做
  • 专业做网站咨询有哪些外贸公司网站做的比较好
  • 如何建设远程教育网站wordpress贵金属插件
  • 设计电子商务网站呼和浩特做网站公司
  • 含关键词的网站建设软件开发工程师招聘简章
  • liferay做网站好吗会员管理系统功能
  • 潍坊网站空间刷数据网站怎么推广