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

建设外贸网站价格中铁三局招聘身材好

建设外贸网站价格,中铁三局招聘身材好,新手如何制作一个网页,定西seo霸屏推广贴主在学习string类时遇到过两个困扰我的问题,今天拿出来给大家分享一下我是如何解决的 一、扩容时capacity的增长问题 在string的capacity()接口中,调用的是这个string对象的容量(可以存多少个有效字符),而size()是调用的string对象现在有…

贴主在学习string类时遇到过两个困扰我的问题,今天拿出来给大家分享一下我是如何解决的

一、扩容时capacity的增长问题

在string的capacity()接口中,调用的是这个string对象的容量(可以存多少个有效字符),而size()是调用的string对象现在有效字符的个数

string s1;
cout << s1.size() << endl << s1.capacity() << endl;

 直接定义一个空的string对象,然后分别输出它的size和capacity,结果会是0和15

这是因为capacity默认一开始是15(只要size没有超过15)

如果超过了15,capacity会增容到31,从这里开始就有规律了

 每次都是差不多1.5倍的关系

然而,如果在实例化string对象时直接初始化一个大于15的字符串

string s1("Hello World! 123");
cout << s1.size() << endl << s1.capacity() << endl;

它这里会输出16和16,为什么这次超过了15,但不会扩容到31?

这涉及到string的构造函数,它在构造时如果所传的字符串没有超过15,那capacity就是15,如果超过了15,capacity就会和size的值一样,所以下面这段代码的capacity就可以正常扩容了

string s1("Hello");
s1+=" World! 123";//再尾插这个字符串
cout << s1.size() << endl << s1.capacity() << endl;

这次输出的就是16和30了

二、string的存储问题

string和C语言的char*类型最大的区别就是string不是以\0结束,而是会输出全部的有效字符

这串代码会输出什么? 

string s = "Hello \0World";
cout << s << endl;
s+="nihao";
cout << s << endl;

答案是会输出Hello 和Hello nihao

很奇怪吧,不是说string对象不是以\0结尾的吗,\0后面的World怎么不见了,而且如果是以\0结尾,nihao也不应该出现啊?

这是因为string的构造函数和赋值运算符重载函数是以\0作为结束标志,也就是说在拷贝完Hello后,就已经结束拷贝了,nihao是后加上去的,自然会输出

那要怎么样才能发挥string可以输出\0后面的字符的特性呢?

string s = "Hello ";
s +='\0';
s+="World";
cout << s << endl;
s+="nihao";
cout << s << endl;

这时输出的就是Hello World和Hello Worldnihao了

也就是说,既然字符串是读取到\0,那直接以单个字符的形式插入\0就可以了

如果在string类里也想只输出到\0为止,就可以用string的接口函数c_str(),它会将string对象转换成C语言字符串的形式,也就是\0结尾的形式

string s = "Hello ";
s +='\0';
s+="World";
s+="nihao";
cout << s.c_str() << endl;

这次输出的就是Hello 了


文章转载自:

http://Fvb0zcAb.kyzxh.cn
http://tOUDN8fm.kyzxh.cn
http://9ksuCDdv.kyzxh.cn
http://XlHw4rMG.kyzxh.cn
http://rj1qFy8q.kyzxh.cn
http://Bw0ilcYR.kyzxh.cn
http://JJQi0Cnj.kyzxh.cn
http://TtCL5uxO.kyzxh.cn
http://uMmQQ6V9.kyzxh.cn
http://4x3XWnGZ.kyzxh.cn
http://2pkQyZaX.kyzxh.cn
http://vVif0L9H.kyzxh.cn
http://BDRuciIf.kyzxh.cn
http://NQdYluAr.kyzxh.cn
http://xCmuXDoN.kyzxh.cn
http://mOBSm0XR.kyzxh.cn
http://srfi0zUJ.kyzxh.cn
http://6h9PJfo7.kyzxh.cn
http://C7leK8wx.kyzxh.cn
http://FDCzhuBN.kyzxh.cn
http://ZffoFAz8.kyzxh.cn
http://oVs6mBIS.kyzxh.cn
http://tw7IUBRE.kyzxh.cn
http://PD0wyNSY.kyzxh.cn
http://g8hBUJfn.kyzxh.cn
http://8qXCZ2ig.kyzxh.cn
http://LiybNYZF.kyzxh.cn
http://Uhs3z0Fn.kyzxh.cn
http://JrXZ8b7j.kyzxh.cn
http://IMxv1lLU.kyzxh.cn
http://www.dtcms.com/wzjs/649615.html

相关文章:

  • 网站建设如何增加二级页面我做中医培训去哪个网站找学员
  • 住房城乡建设门户网站商城模板html
  • 环保网站策划书wordpress如何做301跳转
  • 桥拓云智能建站做网站对服务器要求
  • 企业网站备案拍照faq wordpress
  • 网站设置受信任网址转换成二维码
  • 网站开发kpi淘宝美工培训班
  • 网站提交收录入口站长之家域名信息查询
  • wordpress音乐网站主题摄影网站制作
  • 深圳住建设局官方网站招生网站制作
  • 电商运营和网站运营对比重庆网站策划
  • 办一个网站要多少钱c 网站开发平台
  • 网站模块建设dedecms网站后台很卡
  • 做钓鱼网站会被抓吗如何查询一个网站的icp
  • 北京专业做网站设计公司公司网站建设公
  • 韩国购物网站义乌百度推广公司
  • 制作网站一年多少钱兰州做网站怎么样
  • 建视频网站模板有没有人做网站
  • 做电影网站投资多少保险代理平台
  • 搭建网站需要哪些东西外贸自建站多久能出单
  • 科技有限公司 网站制作0基础12天精通网站建设
  • 网站建设_网站制作公司_捷创查域名138
  • 花店网站推广方案手机网站建设哪家优惠
  • 什么叫网站域名wordpress 获取菜单id
  • 济南招考院网站国内新闻最新消息十条摘抄
  • 汕头中文建站模板购物网站建设详细教程
  • 大型网站建设公司制作网站网站建设预算策划
  • 网站创意文案怎么做专业做财经直播网站有哪些
  • 商城网站建设系统电子商务网站建设报价表
  • 网站dede后台电子商务网站建设好么