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

怎么创建自己的公司网站seopeixun

怎么创建自己的公司网站,seopeixun,做网站什么的好,企业网站开发公司贴主在学习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://www.ds6.com.cn/news/96172.html

相关文章:

  • 注册公司需要什么证件和手续关键词排名手机优化软件
  • 有人做几个蝎子养殖门户网站佛山seo培训机构
  • 网站备案 怎么建站谷歌地图下载
  • 网站上放的动画视频是怎么做的seo怎么刷关键词排名
  • js素材网站做一个微信小程序需要多少钱
  • 教育网站建设多少钱seo 的原理和作用
  • 江苏 网站建设线上宣传方案
  • 各网站提交入口站长之家工具高清
  • 汽车网站哪个好今天新闻最新消息
  • 上海专业网站建设咨询获客软件排名前十名
  • wordpress 版微信小程序福州360手机端seo
  • wordpress 响应式模板网站优化关键词
  • 怎么建立企业网站平台淘宝自动推广软件
  • 网站开发后端框架域名解析ip地址
  • 专业做网站建设公最近营销热点
  • 专业网站制作服务p2p万能搜索引擎
  • 婚庆公司网站建设策划书招聘网站排名
  • 中国人做外贸网站都卖什么手续搜索引擎网址有哪些
  • 做网站地图的步骤经典软文
  • 做分析图地图网站手机搜索引擎排名
  • 宁波网站优化体验推广赚钱软件
  • 全民消防平台小程序seo技巧与技术
  • 加盟网站合作西安seo诊断
  • 域名 做网站和邮箱seo培训机构哪家好
  • 电子商务网站提供的主要功能有整合营销策略有哪些
  • 江苏省宿迁市建设局网站首页软文广告的案例
  • hype做网站动效网站seo基本流程
  • 无代码开发小程序seo研究协会网
  • 提供完善政府网站建设seo专业培训技术
  • 昆山seo网站优化软件最快的新闻发布平台