string str=new string("test");这种情况,用完了要不要delete str?

dfczj 2007-05-25 03:51:14
string str=new string("test");这种情况,用完了要不要delete str?

如果要delete str的话,那string析构函数在此时起到什么作用?
...全文
249 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nillge 2007-05-25
  • 打赏
  • 举报
回复
写完new立即写delete。
yixiao386 2007-05-25
  • 打赏
  • 举报
回复
string 是类 ,要new 只能通过指针来new ,而且用完必须释放指针,也就是delete str,
winner8080 2007-05-25
  • 打赏
  • 举报
回复
有new就必须有delete
否则就内存泄漏
ly19820701 2007-05-25
  • 打赏
  • 举报
回复
动态分配的内存最好在使用完时手动释放
todototry 2007-05-25
  • 打赏
  • 举报
回复
string *pstr = new string("test");
这种情况则需delete pstr;
delete会先执行string的析构函数,通知系统在这块内存上不维护string对象了,then回收内存
  • 打赏
  • 举报
回复
string *str=new string("test");
代码需要这样写
  • 打赏
  • 举报
回复

delete的时候会先调用string的析构函数 将string本身的动态申请的资源释放掉.
todototry 2007-05-25
  • 打赏
  • 举报
回复
string str=new string("test");
===============
这个就不能编译的啊

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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