打印

内存问题

[复制链接]
925|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xsgy123|  楼主 | 2012-8-7 18:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
class a
a** c = new a[20];
List <a*> test_int;
for i:20
{
c[i] = new a;
test_int.push_back(c[i]);
}

如果我在
class B
{
protected:
List <a*> test;
}
List <a*> & B::getList(){test;}
void B::setList(List <a*> * list_){test=list_;}

请问我在应用中 虽然改变List test_int及test,
即 进行clear,remove,赋值等等操作但保持a** c 不变化,在解析时候释放c指引的内存。
我想问的是 我对List这些随意的操作是否会形成内存泄露?

相关帖子

沙发
火箭球迷| | 2012-8-7 18:44 | 只看该作者
你能编译过?
test 是List<a*>类型
你复制时候是List<a*>* 类型的

使用特权

评论回复
板凳
pkat| | 2012-8-7 18:53 | 只看该作者
不用担心标准库提供的clear remove这些操作,像你说的,你只要保证它没有变,就没有内存泄漏。析构的时候,析构函数只关心c存放的地址里面是不是有东西。有东西就delete,没有东西就报错了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

229

主题

2603

帖子

1

粉丝