string 与char *的区别
生活随笔
收集整理的这篇文章主要介绍了
string 与char *的区别
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
string是STL当中的一个容器,对其进行了封装,所以操作起来非常方便。
char *是一个指针,可以指向一个字符串数组,至于这个数组可以在栈上分配,也可以在堆上分配,堆得话就要你手动释放了。
string的内存管理是由系统处理,除非系统内存池用完,不然不会出现这种内存问题。
char *的内存管理由用户自己处理,很容易出现内存不足的问题。
char *s="string"的内容是不可以改的;char s[10]="string"的内容是可以改的
当 string 直接转化成 const char *时,可以通过两个函数c_str(),data成员函数,例如:
将*char 转化成string,直接转化就可以。就是注意输出的问题:
char *a="xiaoming";string s;s=a;printf("%s\n",s.c_str());总结
以上是生活随笔为你收集整理的string 与char *的区别的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 用VC++实现USB接口读写数据的程序
- 下一篇: 获取和设置mfc中Edit输入的文字