あるタイプのベクトルがあり、ベクトル内の他の要素を移動せずに、要素をランダムな順序で破壊したいと考えています。後で、それらの破壊された穴に新しいものを挿入する場合があります(またはしない場合もあります)。ベクトルを破棄するとき、既に破棄されている要素のデストラクタを呼び出したくないので、そうすることが可能ですか?
ベクトル要素の型として char[sizeof(T)] を使用することを考えていましたが、std::align_of と std::aligned_storage は POD ストレージにのみ適していることがわかりました。では、これが POD 以外のタイプで確実に機能するようにするにはどうすればよいですか?
これを行う他の方法はありますか?
私は MSVS2010 に取り組んでおり、間もなく 2013 にアップグレードされる可能性があります。