КодC++ (Qt)void qDeleteAll ( ForwardIterator begin, ForwardIterator end )void qDeleteAll ( const Container & c )Deletes all the items in the range [begin, end) using the C++ delete operator. The item type must be a pointer type ...И примером:КодC++ (Qt)QList list;list.append(new Employee("Blackpool", "Stephen"));list.append(new Employee("Twist", "Oliver"));qDeleteAll(list.begin(), list.end());list.clear();Зачем нужен метод, чистящий память, но оставляющий в контейнере невалидные указатели?Это абсолютно глупо! Нет ни одного случая, где бы эти указатели-хвосты могли бы понадобиться..clear() просто должно было быть там по умолчанию в реализации qDeleteAll.Все равно приходится либо помнить об его вызове, либо писать свою над-функцию...Совершенно непонятна такая стратегия
|