Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
iving
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 17
1

Отменить автоматический вызов деструктора

12.12.2012, 23:30. Просмотров 744. Ответов 0
Метки нет (Все метки)

Есть такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
template <typename type>
class list
{
public:
    list() { arr=NULL; size=0; }
    list(int i) { arr=new type[i]; size=i; }
    ~list() { delete [] arr; arr=NULL; }
    void incSize(int inc)
    {
        type* tarr=new type[size+inc];
        memcpy(tarr,arr,sizeof(type)*size);
        delete [] arr;
        arr=tarr;
    }
protected:
    type* arr;
    int size;
};
Если я потом пишу:
list<int> a(10);
a.incSize();
То все работает нормально. (Функция incSize дана для примера, как использующая memcpy).
Однако если я захочу использовать эту функцию с переменной list<list<int>>, то начинаются проблемы, так как при уничтожении arr вызывается деструктор и для всех его элементов.
Как решить эту проблему?
желательно не переопределяя operator[] и не используя vector.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 23:30
Ответы с готовыми решениями:

Автоматический вызов деструктора компилятором
Хэлп, господа! Ситуация такая: имеется объект класса P, в нем парочка указателей на объекты класса...

Вызов деструктора
При ручном вызове деструктора, освобождается ли память*

Вызов деструктора
Доброго вам времени суток. Проблема в том, что деструктор не выводит сообщение без этой строки....

Вызов деструктора
Есть написанный мною код: #include &lt;iostream&gt; class Foo { private: int *key; public: Foo...

Вызов деструктора
Вызывается ли деструктор объекта при завершении программы? а при аварийном завершении? А если снять...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 23:30

Вызов деструктора
Здравствуйте ,подскажите пожалуйста ,есть вот такой код ... При создании объекта MyClass в...

Двойной вызов деструктора
Здравствуйте, уважаемые. Вот столкнулся с такой проблемой... CharRow - это класс, который...

Не понятный вызов деструктора
Здравствуйте. Ситуация такая, есть класс MyClass к примеру, и при таком коде: //разные инклюды...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.