Форум программистов, компьютерный форум CyberForum.ru

Освобождение памяти от циклического списка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужна максимальная скорость программы http://www.cyberforum.ru/cpp-beginners/thread500195.html
Нужна максимальная скорость программы (сложение, сравнение целочисленных переменных, в том числе лежащих в Byte массивах и пр. похожие операции). На каком языке какой версии это лучше делать?
C++ Как сделать диалог, который сам появляется и исчезает привет всем! как сделать диалоговое окно, которое само появляется (то есть НЕ при нажатии на кнопку или пункт меню), а отобразив то, что нужно, само исчезает (без всяких кнопок ОК или CANCEL)?? Вроде бы в Билдере это не сложно делалось, а вот в Визуале есть только функции, которые позволяют изменять окно только перед его появлением. http://www.cyberforum.ru/cpp-beginners/thread500189.html
Литаретура по созданию драйверов. C++
Hi! хочу заняться написанием драйвером для устройств. Какую литературу Вы можете посоветовать, для начинающего, чтобы там описывалось, что такое порты, как определить какие порты использует устройство, какие сигналы прерываний и т.д. Как работать с портами ввода/вывода (USB/COM), содержали примеры написания драйверов для какихто устройств (модем, винчестер). Может есть специализированный...
Проблема с методом OnOk для диалогового окна C++
Привет всем. Метод OnOk для диалогового окна свой радной. Я использовала OK для вызыва другого диалогового окна который содержит кнопки OK и Cancel. Хотела чтоб OK закрывал главное окно программы, а Cancel не делал нечего(кроме отмены вызванного окна). Увы результат только об ошибки в коде со стораны комплятора. Может подскажети как пройти?
C++ Activex-компонент Spreadsheet http://www.cyberforum.ru/cpp-beginners/thread500089.html
Создал MDI-ое приложение. В каждом дочернем окне у меня создается компонент Spreadsheet (класс CSpreadsheet1). Этот ActiveX компонент является Excel таблицой. Связал с ним переменную - получил доступ к некоторым его свойствам. Но не как не могу получит те данные, которые ввожу в ячейки таблицы. Или наоборот заполнить ячейки какими-то данными. Если кто-то знает как это всю делается буду очень...
C++ выделение и копирование в Word Доброго времени суток! Пожалуйста подскажите как сделать несколько действий с MS Word''om: 1. Выделить текст весь текст из одного документа (заполненая таблица в out.doc) 2. Скопировать его конец другого документа (in.doc) Почти четыре дня пытаюсь методом тыка осилить эти две операции... но безуспешно :( С помощью страых тем на форуме научился только открывать, сохранять и работать с... подробнее

Показать сообщение отдельно
bazile
58 / 34 / 19
Регистрация: 15.03.2007
Сообщений: 6,911
08.12.2011, 16:01     Освобождение памяти от циклического списка
Класс vector<> по своей сути это массив, а не список (имеется в виду не внутрення реализация, а назначение класса). Связывание элементов между собой ты делаешь самостоятельно с помощью поля p_parentItem.

Утечек памяти здесь не видно т.к. непонятно как ты используешь этот vector<CItem> дальше и как очищаешь его. Проблема, как мне кажется, в другом. Ты неправильно используешь класс vector. В vector добавляется [italic]копия[/italic] элемента. В твоем примере это приводит к тому что в поле p_parentItem остается указатель на локальную переменную daddy, которая будет уничтожена сразу после завершения CreateList. Возможно имеет смысл ссылаться на родителя по индексу элемента в vector.

Кроме того код похоже нерабочий, в том смысле что класс у тебя называется то Item, то CItem; переменная previous используется только для присвоения и непонятно зачем она вообще.
 
Текущее время: 08:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru