C++相談室 part44
■ このスレッドは過去ログ倉庫に格納されています
0332デフォルトの名無しさん
2005/10/22(土) 23:24:08v.push_back(static_cast<Base*>(static_cast<void*>(new Derived("hoge"))));
かもしくは
vector<Base*> v(0); //初期化
のどっちか、そんでv.sort()でスライシングってのは間違い、
だけども delete v.back(); ってやるとスライシングが起きる。
つまりBaseのデストラクタとBase用のdeleteが動くので、
new Derived で確保したデータが残ったりデストラクタが行うプロセスとか無視されたりする
ような気がする、、、
■ このスレッドは過去ログ倉庫に格納されています