|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.05.2012, 19:44 | #11 | |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
Цитата:
Желание тысяча возможностей, нежелание - тысяча причин
|
|
07.05.2012, 10:48 | #12 |
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
|
h инициализируется, значит вызывается конструктор копирования, но сначала вызывается перегруженный оператор сложения.
|
07.05.2012, 16:41 | #13 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Если ключевое слово"=" использовалось справа от объявления имени объекта, то запустится конструктор копии. Если же объект уже был создан, и в последствии с нему применить ключевое слово"=", то запустится operator= Пример 1: Код:
Пример 2: Код:
В первом случае, сначала будет создан мембер класса дефолтным конструктором, и только потом, к нему будет применен operator= который изменит состояние мембера на gRVALUE Получается, что состояние объекта достигается в два прохода: сначала по дефолту, потом изменяется на целевое. Во втором случае, мембер будет создан при помощи конструктора с явным аргументом, с уже нужным состоянием. И его уже не нужно дополнительно изменять operator=. Очевидно, что для тяжелых типов второй способ работает быстрее. Код:
Последний раз редактировалось _Bers; 07.05.2012 в 16:55. |
|
07.05.2012, 17:25 | #14 |
Форумчанин
Регистрация: 01.11.2011
Сообщений: 172
|
Спасибо большое!
Желание тысяча возможностей, нежелание - тысяча причин
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перегрузка операции * | Maygli | Помощь студентам | 0 | 25.04.2012 13:33 |
Перегрузка операции ввода | sawyer1988 | Общие вопросы C/C++ | 5 | 22.04.2012 11:59 |
Перегрузка операции | Evgen.O | C++ Builder | 0 | 11.12.2011 17:42 |
перегрузка операции со счетом | zhenya.ya | Общие вопросы C/C++ | 0 | 03.10.2010 23:52 |
Перегрузка операции "->*" C++ | Geg[C/c++] | Общие вопросы C/C++ | 3 | 15.12.2009 12:49 |