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

模仿网站侵权吗网站转html5

模仿网站侵权吗,网站转html5,网站建设公司合肥,商标注册查询网址贴主在学习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.yayakq.cn/news/809745/

相关文章:

  • 免费设计海报的网站2021免费正能量网站入口
  • 有创意的个人网站名字花卉网站建设策划书
  • 正常成都建设网站怎么创建一个html网页
  • 网站被恶意关键字访问天津哪家公司做企业网站
  • 天津市网站建站制作炫彩发光字制作免费网站
  • 培训网站大数据分析全球互联网企业排名
  • 做it公司网站seo推广是什么意思呢
  • 上海闵行区网站制作公司推荐手机网站建设
  • c access做网站登录页面网站开发 合同范本
  • 国外在线网站建设平台做qq空间动态皮肤网站
  • 适合学生做的网站wordpress建站比较
  • seo 对网站有什么影响网站开发管理过程
  • 易企秀可以做微网站吗五金店网站模板
  • e网站建设盘锦微商网站建设
  • 南阳东莞网站建设公司哪家好怎么做网页菜单
  • 瀑布流网站如何seowordpress国内打开速度慢
  • 自己做的网站怎么样合法wordpress关键词描述插件
  • 门户网站建设和运行保证的磋商文件网站开发项目教程
  • pe管网站建设 中企动力python编程软件下载
  • 合肥制作网站的公司简介制作网站需要多少费用
  • 网站开发毕业设计任务书网页游戏排行榜前十名wangyi
  • 太原建站网页建设织梦 5.7网站地图
  • 网站建设 厦门电脑网页制作软件下载
  • 社保个人网站兰州学校网站建设
  • wordpress站内seo合肥微网站
  • 后端和前端哪个前景好盐城网站优化推广工作室
  • 天天向上 网站建设小网站如何做密码找回
  • 杭州如何设计公司网站任务发布插件wordpress
  • 郑州网站建设找智巢wordpress广告代码在哪里
  • 石家庄网站制作软件wordpress 排行榜 页面