内存问题

[复制链接]
1424|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

粉丝
快速回复 在线客服 返回列表 返回顶部