0
点赞
收藏
分享

微信扫一扫

C++ string的内存与数据结构

Ichjns 2022-05-01 阅读 19

python里的string,C++里的string,MFC里的QString,QT里的QString,Java里的string,可以看到几乎所有的语言以及第三方框架中都会有这种string的数据结构,而他们共同的特点就是可以面向对象编程。

C语言的字符串操作

在C语言中,有两种方式表示字符串:

  • 一种是用字符数组来表示,比如char str[7]="RUNOOB",这样的字符串是可读可写的,但是数组有个弊端,你必须要固定声明他的数组长度,不然是不会被编译通过的,也就是字符数组其实极其不方便;

  • 一种是使用字符串产量,也就是字符串指针。比如char* str="RUNOOB",这样的字符串只能读,不能写。所以这种方法也是极其不方便的,特别还涉及到内存和指针问题,很多程序员并不能掌控

C语言中的内存

这两种形式都是以‘\0’作为结束标志。C语言当中存在着非常多的字符操作函数库,就是为了给你在使用字符串功能操作的时候提供方便。

C++中string的操作

在C语言编程中,对于字符串的操作其实是非常令人揪心的,特别很多bug其实都是出自字符串的问题,而且经常要考虑长度以及内存。

而C++ string 与它们在C语言中的前身截然不同。

举报

相关推荐

0 条评论