いま要素の削除と追加を伴うコンテナにstd::vectorを使おうと思ってるのですが、
vector<T>かvector<T*>にするかで迷っています。
というのは要素の削除がvectorの途中[i]で発生したときに[i]と[end()-1]の要素を
スワップした後[end()-1]を削除することで対応しようと思っているのですが、
<T*>を使った場合、スワップはポインタの交換で済むのに対して
要素の追加はinsert(new T)としなければならず、
要素を一つ追加するたびにnewを呼ぶので遅くなりそうな気がします。
#insert(T)であればvectorのallocatorが適当な間隔でまとめて確保してくれる
#と思うのですが…。

何かオーソドックスな流儀とか方針というものがあれば教えてください。