私はベクトルを使用しています。私の目的のために、私は一般的にインデックス(]演算子を使って変更された&しかアクセスされない(n)要素を持つ必要があります。std :: vectorを変更可能な完全実装の配列として使用しますか?
ある点では、私のアルゴリズムはそれがより多くのスペースを必要とすると判断し、このベクトルを拡大してサイズを2倍にする必要があると判断します。
サイズを倍にして、ベクトル要素の型で初期化されたベクトルの既定のすべての新しい領域を持つ方法はありますか?
基本的には、倍増した後に容量を満たすために手動で要素を挿入するのではなく、容量全体が完全に占有され、デフォルト後に初期化されるようにしたいと思います。私が知っている限り、予約するだけでスペースが確保されます(そして、エレメントを初期化しないので、ループインサートを使用することができますが、もっと楽しい方法があると思います)。だから、
は、私はこのコンストラクタで新しいベクトルを作成するのと同様の効果をしたい:私はそれは同様のサイズで倍増する前に、ベクターに存在していた要素を維持したいと思い除い
std::vector<MyType> vec(2*oldvec.size(), MyType());
。
私はそれを忘れているとは思えません。<カウントダウンが終了すると受け入れます:p –