ylww

随笔仅作学习记录,请辩证参考!!!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  166 随笔 :: 0 文章 :: 0 评论 :: 11673 阅读

std::string (也就是C++中的string):标准并没有规定字符串必须以\0字符结尾。编译器在实现时既可以在结尾加上\0,也可以不加,这个是由编译器决定的,因为string是一个类,它的长度信息已经封装到类的私有变量里面了。

但是当通过c_str()或者data()(二者在c++ 11以及之后的标准中等价)转换得到的const char *时,会发现最后一个字符一定是\0。这个就是C语言中的string的结尾标志了(C语言中没有string类,都是char *)。

————————————————
版权声明:本文为CSDN博主「土豆西瓜大芝麻」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jinking01/article/details/109333692

 

此外:

 

posted on   理想主义者光芒万丈  阅读(634)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示