|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.12.2011, 16:48 | #1 | ||
Регистрация: 22.03.2010
Сообщений: 4
|
Конструктор копирования и оператор присваивания
Не понимаю, когда используется один, а когда другой. Написал простой пример с комплексными числами - при компиляции в VS2010 и CodeBlock 10 выдаёт разный результат. Вот сам пример.
PHP код:
Цитата:
Цитата:
|
||
04.12.2011, 16:50 | #2 |
Регистрация: 22.03.2010
Сообщений: 4
|
Оператор умножения double на Complex здесь ни при чём, остался от первого варианта лабы.
|
04.12.2011, 17:19 | #3 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
Скорее всего имеет место оптимизация. Разные IDE по разному это делают.
Попробуйте в студии запустить релизную версию проекта с включенной полной оптимизацией. В коде у вас оператор копирования и оператор умножения возвращает Complex. Чтобы его вернуть, строится копия. Итого на три оператора копирования и один оператор умножения получается 4 конструктора копирования. Но так как в вашей ситуации компилятор имеет всю инфу для оптимизации, он это и делает. И все это вроде соответствует стандарту. Последний раз редактировалось _Ч_; 04.12.2011 в 17:33. |
04.12.2011, 17:39 | #4 |
Регистрация: 22.03.2010
Сообщений: 4
|
Спасибо, я всё понял.
|
05.12.2011, 10:41 | #5 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оператор присваивания | Slunkin | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 14.01.2011 17:53 |
Оператор присваивания | BaNNeD | Помощь студентам | 2 | 14.12.2010 17:39 |
Оператор присваивания | Lotles | Общие вопросы C/C++ | 2 | 12.10.2010 20:48 |
Оператор присваивания | Superlotles | Общие вопросы C/C++ | 15 | 12.07.2010 16:46 |