Если у меня есть std::vector чего-то (скажем, выполняет ли std::vector:: clear() вызов деструктора содержимого? Например, если у меня есть данные как вектор, действует ли следующий код?
char * pd;
for(vector<char *>::iterator it = data.begin(); it != data.end(); ++it) {
pd = *it;
delete pd;
}
Или это избыточно, поскольку data.clear() будет делать это? Я полагаю, что нет, т.е. Требуется ручное освобождение содержимого. Предполагаю, data.clear() не будет вызывать неявный деструктор для содержимого? Правильно ли это? Это для pre С++ 11.