Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять соседние слова местами http://www.cyberforum.ru/cpp-beginners/thread186801.html
задание: Дано предложение. Вывести его на экран, меняя местами каждые два соседних слова. Никак не могу сообразить что нужно делать, что использовать. уде не 1-й день мучаюсь над этой задачей....
C++ Класс Rectangle совпадает с функцией Rectangle Пишу свой класс Rectangle, который при отрисовки использует функцию Rectangle из GDI. Возникает ошибка из-за того, что имена одинаковые. Но менять имя своего класса я, естественно, не хочу... Как... http://www.cyberforum.ru/cpp-beginners/thread186792.html
C++ Программа со структурами.
Не могли бы Вы помочь мне с написанием этой программы. Описать структуру с именем NOTE, содержащую следующие поля: NAME - фамилия, имя; TEL - номер телефона; BDAY - день рождения (массив из...
C++ возврат по ссылкам
На защиту лаб.работы препод требует рассказать о возврате по ссылкам. Зачем они? Как они описываются, какой у них плюс?
C++ упорядочен ли массив по неубыванию, по невозрастанию или не упорядочен вообще http://www.cyberforum.ru/cpp-beginners/thread186787.html
Блин вест мозг себе уже вынес, никак не могу решить задачу(((. Помогите кто чем может. Задача:Написать подпрограмму,которая проверяла бы, упорядочен ли массив по неубыванию (Xi<=Xi+1),по...
C++ Интегрирование по методу Симпсона написать программу которая посчитала бы интеграл сos(x+x^3)dx по методу симпсона с точностью до одной тысячной.буду оч.благодарен))) подробнее
CheshireCat
Эксперт С++
2913 / 1262 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
12.05.2011, 12:49 0

Почему не вызывается конструктор копирования?

12.05.2011, 12:49. Просмотров 4442. Ответов 53
Метки (Все метки)

Ответ

Цитата Сообщение от kravam Посмотреть сообщение
... а теперь вот другая ситуация; тоже должен вызываться конструктор копирования и тоже он не вызывается. Почему? Хотя в книге написано, что конструктор копирования вызывается, когда возвращаемое значение имеет тип класса!
В книге написано правильно. Теоретически, конструктор копирования должен быть вызван. Но разработчики компилятор - хииитрые! Они использовали положение Стандарта языка, разрешающее т.н. Return Value Optimization - RVO - т.е. создавать возвращаемый объект obj прямо в том месте, "куда" он возвращается. В этом случае - да, конструктор копирования не будет вызван, что экономит процессорное время и улучшает производительность программы. Возможно, автор книги либо не мог знать об RVO (если книга писалась в давние-давние времена....), либо пока сознательно не стал заострять на этом внимание.

Вернуться к обсуждению:
Почему не вызывается конструктор копирования?
2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 12:49
Готовые ответы и решения:

Почему не вызывается конструктор копирования при возврате объекта из функции
Добрый день! Насколько мне известно, конструктор копирования вызывается:...

НЕ вызывается конструктор копирования
НЕ вызывается конструктор копирования (не явно), как сделать чтобы это было...

Когда вызывается конструктор копирования?
Пожалуйста помогите ответить на вопрос &quot;Когда вызывается конструктор...

Сколько раз вызывается конструктор копирования
Почему n не увеличивается? Point(const Point&amp; src){ n++; set(src.x+1,...

В каких случаях вызывается конструктор копирования, и стоит ли вообще об этом думать?
В книге Г. Шилдта написано, что конструктор копирования может неявно...

53
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru