タスクシステム総合スレ part6
■ このスレッドは過去ログ倉庫に格納されています
0113並列さん ◆dPfetnROQg
2009/04/06(月) 03:45:41ID:yXbkibtb>>プライオリティが変わるごとにstd::vectorに対してそんなことしたら
> プライオリティーなんて滅多に変わらないだろうし、現実問題として、
> それで問題ないだろう。
あんたの実装、vector<T*>ではなく、vector<T>だよな?
オブジェクトが死ぬごとにremoveが発生してそこ以降のオブジェクト全部
コピーすることになるんだが、これ、いつ後始末するつもりだ?
また死んだオブジェクト(タスク)はどうやって判定するつもりだ?
オブジェクトひとつずつにデリートマークがあって、foreachのときに
デリートマークをチェックしながらiterationを行なうのか?
それともどこかで死んだオブジェクトを詰める(removeする)作業をするのか?
そのときにそこ以降のオブジェクトのアドレスが書き換わるから、
それを参照しているポインタ全部書き換えなきゃならんのだが。
本当にそんな実装が速いと思うのか?
■ このスレッドは過去ログ倉庫に格納されています