C++的string需要申请和释放内存吗?

jinggangshi 2015-01-07 09:35:31
以前用char时需要申请内存,使用完了要释放内存,那么使用string是否需要申请和释放?
...全文
5979 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctgucool 2015-01-07
  • 打赏
  • 举报
回复
引用 2 楼 mymtom 的回复:
no malloc no free no new no delete
nice
starytx 2015-01-07
  • 打赏
  • 举报
回复
通常使用当然不用,要不然还有啥方便性可言
707wk 2015-01-07
  • 打赏
  • 举报
回复 1
引用 5 楼 Falleyes 的回复:
准确的来说,char是数据类型,而string是类,不严格算基础数据类型。 当string的生命周期结束时,会自动调用string类的析构函数,释放内存,不用手动释放。
涨知识(ง •̀_•́)ง
版主大哥 2015-01-07
  • 打赏
  • 举报
回复
引用 2 楼 mymtom 的回复:
no malloc no free no new no delete
正确答案在此
mujiok2003 2015-01-07
  • 打赏
  • 举报
回复

string a  = "ok";
string * b = new string("ok two");
delete b;
string * c = new string[5];
delete [] c;
Falleyes 2015-01-07
  • 打赏
  • 举报
回复
准确的来说,char是数据类型,而string是类,不严格算基础数据类型。 当string的生命周期结束时,会自动调用string类的析构函数,释放内存,不用手动释放。
paschen 版主 2015-01-07
  • 打赏
  • 举报
回复 2
不需要,只有你用new或者malloc分配的才需要,string类的析构函数会自己负责释放
版主大哥 2015-01-07
  • 打赏
  • 举报
回复

//1
char* pChar= new char[100];

string* pStr = new string;
//2
char*  pChar = "123";

string* pStr = "456";
mymtom 2015-01-07
  • 打赏
  • 举报
回复 1
no malloc no free no new no delete
luo_miao 2015-01-07
  • 打赏
  • 举报
回复
不 需 要 .
赵4老师 2015-01-07
  • 打赏
  • 举报
回复
Win8 64位用VS2013 ?
jinggangshi 2015-01-07
  • 打赏
  • 举报
回复
我太小心了,哈哈。 好久没有写Code了,想写个小程序都写不出来,今天配置Eclipse都没有配置成功,DevCpp也运行不了,是64位的Win8毛病多,还是我OUT了,还是回头用vc6吧? 郁闷中。 谢谢各位的回复,分不多,平分吧! 再不行用汇编写吧。。。。。。。
赵4老师 2015-01-07
  • 打赏
  • 举报
回复
使用string时不需要;string自己的底层实现需要。
  • 打赏
  • 举报
回复
引用 11 楼 nanfeiyannan 的回复:
看到了这篇帖子,让我想到了刚刚碰到的CString,这个需要Empty()去释放。 PS: 如果多次调用带有CString引用的参数的函数(形如:funstr(CString &str);这样的函数),在一定的时候(和字符串长度有关系),CString的内部引用记数器发生记数混乱,造成内存泄露。
虽然与楼主问题没有很大关系,勿拍,呵呵。
  • 打赏
  • 举报
回复
看到了这篇帖子,让我想到了刚刚碰到的CString,这个需要Empty()去释放。 PS: 如果多次调用带有CString引用的参数的函数(形如:funstr(CString &str);这样的函数),在一定的时候(和字符串长度有关系),CString的内部引用记数器发生记数混乱,造成内存泄露。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧