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