Shrink to fit
Назначение
Решаемые задачи
Примеры реализации идиомы Shrink to fit
Первый способ
std::vector<int> v;
// v заменяется его временной копией, которая является оптимальной по емкости
std::vector<int>(v.begin(), v.end()).swap(v);Второй способ
int main()
{
std::vector<int> vec = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (auto it = vec.begin(); it != vec.end(); )
{
it = vec.erase(it);
if (it != vec.end())
++it;
}
vec.shrink_to_fit(); // Уменьшаем выделенную память до минимально возможного размера
std::cout << "Size: " << vec.size() << std::endl;
std::cout << "Capacity: " << vec.capacity() << std::endl;
return 0;
}Last updated