通知
すべてクリア
Topic starter
2003年5月10日 2:53 AM
質問があります。
ベクタークラスで動的にクラス配列をつくります。
vector < CXX * > m;
m.pushback( new CXX );
このクラス配列を消去(通常のdeleteのような処理)したいのですが
どのようにすればよいのでしょうか。
m.popback()やeraseではうまくいきませんでした。
2003年5月10日 7:18 AM
vectorの要素が指すオブジェクトを削除するのであれば,
自分でdeleteを書く必要があります。
スマートポインタを使って
vector<boost::shared_ptr<CXX> > m;
などとしてしまえば,eraseなどで問題が無くなりますが。
2003年5月10日 9:15 AM
while ( !m.empty() ) {
delete m.back();
m.pop_back();
}