| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > различия конструктора копирования |
| Автор: Sleepman 3.7.2005, 22:06 |
| народ, объясните (подскажите).. в чем принципиальная разница по поводу САБЖа?? |
| Автор: sergejzr 3.7.2005, 22:10 |
| = копирует значения полей, а конструктор копирования создаёт новый обьект - клон. |
| Автор: Sleepman 3.7.2005, 22:21 | ||
понял... т.е. если мы пишем
то будет обязательно вызван констр-р копирования, даже если операция присваивания перегружена, да? а не так, скажем, что... вызывается конструктор для безымянного объекта, а потом его поля и методы копируются при помощи "="... ?? |
| Автор: Дрон 3.7.2005, 22:35 | ||
| Sleepman Не совсем. В твоём примере вообще идёт работа с указателями и не оператор присваиния, ни констр. копирования не будут вызываться. Разницу можно ощутить тут:
|
| Автор: sergejzr 3.7.2005, 22:36 |
| В твоём коде создаётся обьект и р присваивается значение его адреса. То есть р поакзывает на свежесозданный обьект. Здесь не срабатывает ни оператор = , ни конс. копирования. |
| Автор: Sleepman 3.7.2005, 22:38 |
| с указателем тупанул... с констр. и = разобрался... спасибо.... |