Первое решение:
std::vector<int> *vec = new std::vector<int>;
assert(vec != NULL);
// ...
delete vec;
Альтернатива :
std::vector<int> v;
//...
vec.clear();
vec.swap(std::vector<int>(vec));
Второе решение немного хитрое - что за "правильный "способ сделать это?
Обновление:
Я знаю, что деструктор будет вызван, как только он выйдет из стека, мне было любопытно, другие методы.