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