Как освобождать std::vector в c++?

Пользователь

от evalyn.barrows , в категории: C/C++ , 8 месяцев назад

Как освобождать std::vector в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от caterina , 7 месяцев назад

@evalyn.barrows 

Для освобождения памяти, занятой вектором std::vector, следует воспользоваться методом clear(). Он удаляет все элементы из вектора, освобождая выделенную для них память. Примерно так:

1
2
3
4
5
6
7
8
9
std::vector<int> myVector; // Создание вектора

// Добавление элементов в вектор
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);

// Освобождение памяти, занимаемой вектором
myVector.clear();


Другой способ освобождения памяти - это присвоение вектору нового (пустого) вектора:

1
2
3
4
5
6
7
8
9
std::vector<int> myVector; // Создание вектора

// Добавление элементов в вектор
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);

// Освобождение памяти, занимаемой вектором
myVector = std::vector<int>();


Оба эти способа приводят к освобождению памяти, занятой вектором, и установке размера вектора на 0.