【发布时间】:2011-03-27 17:50:08
【问题描述】:
我们通常如何处理元素是指向对象的指针的向量?我的具体问题是下面提供的代码末尾的注释。谢谢。
class A
{
public:
virtual int play() = 0 ;
};
class B : public A
{
public:
int play() {cout << "play in B " << endl;};
};
class C : public A
{
public:
int play() {cout << "play in C " << endl;};
};
int main()
{
vector<A *> l;
l.push_back(new B());
l.push_back(new C());
for(int i = 0 ; i < l.size();i++)
{
l[i]->play();
}
//Do i have to do this to avoid memory leak? It is akward. Any better way to do this?
for(int i = 0 ; i < l.size();i++)
{
delete l[i];
}
}
【问题讨论】:
标签: c++ memory-leaks vector observer-pattern