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