Форум программистов, компьютерный форум, киберфорум
Наши страницы

Освобождение памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Посчитать +,-,* ввод/выдов для полинома http://www.cyberforum.ru/cpp-beginners/thread1189324.html
#include <iostream> using namespace std; class Polinom { int length,n,m; float* members; public:
C++ Имитация пружинного маятника Помогите с формулой,не могу понять как можно сделать движение пружинного маятника по оси OX,я могу просто сделать движение вперед назад,а как по формулам можно сделать движение?я не понимаю ... http://www.cyberforum.ru/cpp-beginners/thread1189313.html
динамический массив C++
Добрый вечер, помогите пожалуйста с решением данных задач. Очень нужна помощь)
C++ Операторы Cerr, Clog
Помогите пожалуйста разобраться. Я уже довольно долгр прогрммирую на C++, но с операторами cerr и clog не встречался. Немного почитал о них но не совсем всё понял особенно о clog. Объясните...
C++ C++ http://www.cyberforum.ru/cpp-beginners/thread1189273.html
записать алгоритм определения того, является ли окружность радиуса R с центром в точке (X0;Y0) заданного координатами своих вершин. Спасайте, вы мне нужны, умные люди.
C++ Алгоритм вычисления объема и площади куба по его диагонали записать алгоритм вычисления объема и площади куба по его диагонали. подробнее

Показать сообщение отдельно
monolit
186 / 185 / 22
Регистрация: 24.03.2011
Сообщений: 669
Завершенные тесты: 1
26.05.2014, 23:45
Цитата Сообщение от Skaarj Посмотреть сообщение
И всю ли память я отчищаю таким способом
В данном случае что-нибудь у тебя, да удаляется. Почти наверняка совсем не то, что ты ожидал, но удаляется. Все потому, что у тебя pp при удалении также известен, в нем что-то лежит (он вроде указывает на последний элемент массива на данный момент) - поэтому такое прокатывает ('повезло' тебе). Я бы поступал следующим образом:
C++
1
2
3
4
5
6
7
8
for(int l = 0; l < Objects.size(); l++)        
    {
        if(Objects[l]->RemoveObject() == true)
        {
            delete Objects[l];
            Objects.erase(Objects.begin() + l);
        }
    }
так удалится действительно то, что ты ожидал.

Цитата Сообщение от Skaarj Посмотреть сообщение
Правильно ли я понимаю, что при каждом erase объекта из контейнера надо использовать delete
Правильно. В векторе у тебя хранится массив указателей. При вызове erase из вектора удаляется элемент. Но Этот элемент сам является указателем, и его тоже нужно удалить как следует.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru