У меня есть двухсвязный список std::list как protected обьект в классе A:
class A {
public:
std::list<int> list;
}
в main я динамически выделяю память под обьект класса A и додаю 3 integer после чего освобождаю память
int main() {
A* a = new A();
a.list.push_back(1);
a.list.push_back(2);
a.list.push_back(3);
delete a;
return 1;
}
удалится ли list при delete? и как std::list аллоцирует память?
Как std::list
аллоцирует память совершенно не важно, важно только то, что для этого используется тот аллокатор, который передан ему в качестве аргумента шаблона (по умолчанию используется std::allocator
). При разрушении объекта std::list
он освобождает всю память которую выделил, а также вызывает деструкторы для каждого элемента, которые были в него добавлены.
Вышеописанное справедливо для любого контейнера стандартной библиотеки C++.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Программа начинает выполняться, отображается окноПотом зависает,завершается с этой ошибкой
Третий день пытаюсь реализовать реалистичный отскок, вроде того, который был у гранаты в Worms 2DПерепробовал несколько алгоритмов, но все они...