Если вектор помещен в стек, он будет автоматически уничтожен в конце области его автоматической переменной.
Что если я поместил вектор в класс?
class A { vector<B> bs; // B is POD struct. };
Стоит ли убирать его вручную? Если да, то как мне быть?
Этот вектор bs будет уничтожен, когда будет вызван деструктор окружающего класса (т.е. деструктор A).
bs
A
void f() { { A a; //working with a; }//<--- here a goes out of scope, so it's destructor is called; //so not only a is destructed but also a.bs }
Убедитесь, что каждый класс B, который вы используете в векторе, удаляет свое собственное выделенное пространство в деструкторе, поэтому, когда вектор выходит из области видимости, у вас не останется утечек памяти