Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2012, 01:41   #1
Darkwinged
Пользователь
 
Регистрация: 29.04.2009
Сообщений: 17
По умолчанию vector указателей и высвобождение памяти

Всем привет!
Я создал вектор указателей, который заполняю указателями по мере необходимости.
Код:
vector<Node *> d

for (int i=1; i<n; i++)
{
  Node * nodeTemp = new Node();
  d.push_back(nodeTemp);
}
Динамическое выделение необходимо, чтобы каждый раз добавлялись новые указатели, а не перезаписывался один и тот же адрес в памяти.
Вопрос в том, насколько этот подход увеличивает шансы выстрелить себе в ногу?
И высвободится ли выделенная память при вызове vector.erase()? Не будет ли утечки?
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off". Bjarne Stroustrup
Darkwinged вне форума Ответить с цитированием
Старый 15.10.2012, 01:51   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Нет, не высвободится.
Используй vector<shared_ptr<t>>, например.
Son Of Pain вне форума Ответить с цитированием
Старый 15.10.2012, 12:45   #3
Darkwinged
Пользователь
 
Регистрация: 29.04.2009
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
Нет, не высвободится.
Используй vector<shared_ptr<t>>, например.
Спасибо за вариант, но я не могу использовать BOOST
Подойдёт ли такой код, как альтернатива?
Код:
vector<Node *>::iterator i;
	for (i=d.begin(); i!=d.end(); i++)
	{
		delete *i;
	}
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off". Bjarne Stroustrup
Darkwinged вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое выделение памяти, конструктор с параметрами и vector MuradS60 Общие вопросы C/C++ 20 03.04.2012 00:49
Массив указателей, динамическое выделение памяти Андрей! Общие вопросы C/C++ 11 09.02.2012 01:05
Использование указателей и динамической памяти Black_butterfly Помощь студентам 3 02.05.2011 18:07
Выделение памяти под массив указателей Анка291 Общие вопросы C/C++ 9 25.02.2011 00:03
Высвобождение памяти из под указателей Gypsy Общие вопросы Delphi 4 27.01.2010 13:53