>>109
>>プライオリティが変わるごとにstd::vectorに対してそんなことしたら
> プライオリティーなんて滅多に変わらないだろうし、現実問題として、
> それで問題ないだろう。

あんたの実装、vector<T*>ではなく、vector<T>だよな?

オブジェクトが死ぬごとにremoveが発生してそこ以降のオブジェクト全部
コピーすることになるんだが、これ、いつ後始末するつもりだ?

また死んだオブジェクト(タスク)はどうやって判定するつもりだ?

オブジェクトひとつずつにデリートマークがあって、foreachのときに
デリートマークをチェックしながらiterationを行なうのか?

それともどこかで死んだオブジェクトを詰める(removeする)作業をするのか?
そのときにそこ以降のオブジェクトのアドレスが書き換わるから、
それを参照しているポインタ全部書き換えなきゃならんのだが。

本当にそんな実装が速いと思うのか?