class X;
class Y {
public:
~Y();
private:
map<int,X*> m;
vector<X*> v;
X* px;
};
我猜class Y
的析构函数应该看起来像这样?破坏者和地图
Y::~Y() {
delete px;
for (vector<X*>::iterator it = v.begin(); it!=v.end(); it++)
delete *it;
v.clear();
}
但是Y::m
呢?
@OP:注意预增量。如你在这里看到的那样,使用迭代器的preincrement更好 – xQuare
哦,我......我甚至都没有想过地图有迭代器。对不起,打扰了。谢谢。 – scarably