std::Vector のダウンサイジング: スワップ トリック
予約スペースが無い場合に std::vector の容量を削減するにはより長く必要な場合は、Scott Meyers が著書『Effective STL』で推奨している「スワップ トリック」を使用できます。その仕組みは次のとおりです:
vector<Person> new_persons(size_of_new_vector);
new_persons.swap(persons);
交換を実行した後、元のベクトルである人物は「適合するように縮小」されます。つまり、必要なメモリのみを占有することになります。現在保持している要素の数。
この手法は、ベクトルのコピー コンストラクターを活用し、コピーされる要素のみにメモリを割り当て、元のベクトルの過剰な容量を効果的に削減します。
以上がstd::vector を実際のサイズに縮小する方法: スワップ トリックの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。