参考文献を読んで、std::vector
私はそれを理解しました
insert
最大容量に達したときに呼び出すとstd::vector
、新しいメモリがより大きな容量で割り当てられるため、(イテレータの無効化の原因となる)再割り当てが発生します。目標は、連続するデータについての保証を維持することです。最大容量を下回っている限り、それ
insert
は発生しません(そしてイテレータは無傷になります)。
私の質問は次のとおりです。
reserve
によって自動的に呼び出される場合insert
、予約する必要のある新しいメモリの量を制御する方法はありますか?
初期容量が100のベクトルがあり、最大容量に達したときに、追加の20バイトを割り当てたいとします。
それは可能ですか?