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

做商城网站设计工业和信息化部五系网站建设

做商城网站设计,工业和信息化部五系网站建设,wordpress网站统计,怎样免费做网站推广更多精彩#xff0c;请点击上方蓝字关注我们#xff01;1. 初始化c 11以后新增了大括号{}的初始化方式#xff0c;需要注意与()的区别,如#xff1a;std::vectorint vecTest1(5); //初始化5个元素#xff0c;每个都是0std::vectorint vecTest2{ 5… 更多精彩请点击上方蓝字关注我们1. 初始化       c 11以后新增了大括号{}的初始化方式需要注意与()的区别,如         std::vectorint vecTest1(5);         //初始化5个元素每个都是0         std::vectorint vecTest2{ 5 };       //初始化1个元素值是52.  添加元素push_back       通过push_back添加新的元素进入vector后vector的内存有时候会发生变化这取决于size和capacity大小当然这些都是系统来处理的详细可以参考stl源码        当sizecapacity的时候直接加到末尾不会变化        当sizecapacity的时候会重新申请另外一块内存然后copy过去加到尾部这个时候就会有变化了。        对于stl的容器都有成员                 begin()  //起始位置                 end() //结束位置                 size() //当前大小         capacity() //当前容量即已申请的内存大小     vector是一段连续的内存空间有三个标识内存的位置startendfinish sizeend-start capacityfinish-start     很多时候在使用vector的时候会看到sizecapacity这个时候直接添加元素到尾部内存明显是不够的此时会重新在别处分配一块大小足够     有时候也有sizecapacity, 这个时候就直接加在尾部了。std::cout vecNum push back init std::endl; vectorint vecNum(5); std::cout vecNum addr: vecNum std::endl; for(auto i 5; i 10; i) { vecNum.push_back(i*10); std::cout vecNum push_back( i ) i*10 std::endl; std::cout vecNum.size() vecNum.size() ,vecNum.capacity() vecNum.capacity() std::endl; std::cout vecNum.begin() addr: (*vecNum.begin()) std::endl; } std::cout vecNum addr: vecNum std::endl;3. 关于earse和remove     erase返回的是当前删除的元素的一下个位置的迭代器所以需要注意的是遍历时候的运算这个与其它listmap差不多    需要注意的earse后内存并未真正的清空仅仅是删除内容真正的容量大小capacity并没有改变需要通过swap来实现capacity的减小     全部清空可以考虑vectorint().swap(vecNum);auto itor vecNum.begin(); for( ; itor ! vecNum.end(); ) { auto num *itor; if(num 60) { itor vecNum.erase(itor); break; } else { itor; } } std::cout after erase element 60: std::endl; printVector(vecNum); vectorint(vecNum).swap(vecNum); //将vecNum的内存空洞清除 printVector(vecNum); //remove只是通过迭代器的指针向前移动来删除将不需要删除的元素往前移因此需要删除的就都在尾部了      //返回新的指向尾部需要删除的元素的迭代器      因此还是得配合earse来使用所以一般真要删除建议直接遍历使用earseauto itor remove_if(vecNum.begin(), vecNum.end(),[](int x)-bool{ return x 20; }); //or //auto itor remove(vecNum.begin(), vecNum.end(),20); //通过erase删除 vecNum.erase(itor, vecNum.end());4. 关于vector bool  -- 慎用       出处https://www.jb51.net/article/167636.htm       vector bool 并不是一个STL容器不是一个STL容器不是一个STL容器       首先vector bool 并不是一个通常意义上的vector容器这个源自于历史遗留问题。早在C98的时候就有vector bool这个类型了但是因为当时为了考虑到节省空间的想法所以vector bool里面不是一个Byte一个Byte储存的它是一个bit一个bit储存的因为C没有直接去给一个bit来操作    所以用operator[]的时候 正常容器返回的应该是一个对应元素的引用   但是对于vector bool实际上访问的是一个”proxy reference”而不是一个”true reference”返回的是”std::vector bool:reference”类型的对象。   因此使用auto自动类型推导时会出现问题//vectorbool慎用 vectorbool vecBool { false, true, false }; bool test1 vecBool[0]; auto test2 vecBool[1]; test1 true; //test1的初始化它其实暗含了一个隐式的类型转换直接对vecBool[0]赋值会修改vecBool中的值但是对test1不会 test2 false; //test2它的类型并不是bool而是一个vector bool中的一个内部类,而此时如果修改test2的值vecBool中的值也会跟着修改 auto index 0; for (auto i : vecBool) { cout vecBool[ index ] i std::endl; index; }完它不仅仅是一个码扫码关注C资源免费送
http://www.pierceye.com/news/126432/

相关文章:

  • 做一万个网站网站做下载功能
  • 佛山建站模板制作wordpress加上live2d
  • 樟木头网站仿做深圳网站开发公司
  • 孙俪做的网站广告微信如何修改wordpress
  • 有什么手机做网站的免费ppt模板下载花
  • 网站建设团队技术介绍县级网站
  • 深圳营销型网站建设价格网站建设文化如何
  • 提交网站的入口地址网站建设灬金手指下拉十五
  • 连云港建设局网站学校网站建设管理相关规定
  • 什么网站做玩具的外贸网站监控系统
  • 从事网站美工建设厦门网站制作企业
  • 网站后台传图片南昌做网站要多少钱
  • 网站包括什么国内最大的域名交易平台
  • 做营销型网站 公司哈尔滨展览设计公司
  • 网站设计费用多少钱产品网页设计教程
  • 深圳公司网站建设设计网站推广的意义和方法
  • 网站需要哪些费用免费营销型网站模版
  • 如何做购物网站的教程wordpress酷炫插件
  • 建设信用卡网站登录网站建设和微信小程序
  • 邓州企业网站艺术设计方案
  • 广州市住房住建局网站永久免费的云电脑
  • 建设网站后如何上线不用服务器做网站
  • 建站服务论坛国外做外贸哪个网站好些
  • 营销型网站试运营调忧仿别人网站
  • 低价网站制作企业云南网站开发公司
  • 成都市建设厅网站查询十九冶成都建设有限公司网站
  • 建电商网站要多少钱建设绿色食品网站
  • 建行个人网上登录入口优化网站结构一般包括
  • 好看的网站页面WordPress知更鸟主题怎样安装
  • 如何查网站是否备案免费建网站代码