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

Очитстить память - C++

Восстановить пароль Регистрация
 
Ёрик
45 / 45 / 2
Регистрация: 07.01.2009
Сообщений: 298
21.02.2010, 11:35     Очитстить память #1
Подскажите,как мне очистить память в таком случае:

У меня класс Deque. В нем есть структура:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template<typename T> class Deque
{
 
 
struct Node
    {
        Node* next_;
        typename T item_;
    };
 
public:
    Deque(): last_(0),first_(0) {} 
    ~Deque();
 
    void push_back(const T& src);
    void push_front(const T& src);
    void pop_back();
    void pop_front();
 
private:
    Node* last_;
    Node* first_;
};
Когда я перегружаю функцию,что выделить память для char* (у меня отдельная функция читает файл пихает все в deque), то делаю:

C++
1
2
3
4
5
6
while (!fdIn.eof())
    {
        char* buf = new char[num];
        fdIn.getline(buf,num,lim);
        push_back(buf);
    }
Как мне потом очистить память. У меня есть обычный конструктор для типа T, но для массива нужно удалять по-другому
C++
1
delete[]
. Дело в том, что у меня только есть указатель на первый элмент списка и на последний.

p.s. Deque реализован как список.
Для удаление массива нужен указатель,а у меня только указатель на структуру.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2010, 11:35     Очитстить память
Посмотрите здесь:

C++ Динамическая память
Статическая память,Динамическая память. C++
C++ разделяемая память
C++ Память класса
C++ Память
C++ Динамическая память
Динамическая память C++
Динамическая память C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 23:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru