Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (10.01.2007 в 01:42)
Если в объекте выделяется динамический кусок памяти (new), а потом один объект инициируется другим
cls obj = obj1;

, то без конструктора копии оба объекта будут указывать на одну и ту же область памяти (т.е. редактируем один объект, а второй меняется вслед за ним), а потом в довершение всего эту память по разу возратят в систему каждый из объектов (delete). Создавая конструктор копии, вы берёте процесс создания копии в свои руки и можете при копировании данных выделить дополнительный объём динамической памяти или просто переопределить этот процесс так как вам это хочется. Умный указатель auto_prt например, отбирает динамическую память у правого объекта и передаёт её левому.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: