Я пытаюсь удалить объект как из вектора объектов, так и из памяти, используя его деструктор. Я понял, что удаление объекта, на который указывает итератор, заставляет итератор указывать на элемент, следующий за последним удаленным элементом. Поэтому я попытался реализовать это:
std::vector<Customer*>::iterator j=customersList.begin();
while (j!=customersList.end()){
customersList.erase(j);
delete *j;
}
это нормально? или что он перепрыгивает 2 места, применяя как стирание, так и удаление?