Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
grizlik78
Эксперт С++
1990 / 1480 / 194
Регистрация: 29.05.2011
Сообщений: 3,061
27.06.2011, 00:51 0

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

27.06.2011, 00:51. Просмотров 4376. Ответов 53
Метки (Все метки)

Ответ

Цитата Сообщение от kravam Посмотреть сообщение
Угу? Ну ты согласишься, что если эта функция вызовется, то
всё-таки obj создастся?
Здесь я соглашусь. Объект создастся.
Цитата Сообщение от kravam Посмотреть сообщение
И не будет скопирован (как я хочу посимвольно),
И здесь так. Не будет скопирован.
Цитата Сообщение от kravam Посмотреть сообщение
и будет уничтожен
и будет вызван его деструктор?
Уничтожен-то будет, вопрос когда. Вот по коду приведённому в цитируемом посте совершенно очевидно, что уничтожен этот единственный объект будет по завершении функции main, так как имя этому объекту x, а вовсе не obj. Именно потому, что не вызывался конструктор копирования. Не стоит считать создателей компилятора недотёпами.
Цитата Сообщение от kravam Посмотреть сообщение
Вот, запусти и увидишь, что указатели указывают на один и тот же участок памяти. Уже удалённый, а нового нет, ибо МОЙ конструктор вызван не был.
Никто его пока не удалял. Его потом удалят.
Придумать ситуацию, когда RVO принесёт вред наверное можно, но очень не просто.

Вернуться к обсуждению:
Почему не вызывается конструктор копирования?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2011, 00:51

Будет ли утрачена память, когда конструктор копирования вызывается для уже существующего объекта класса?
class A { char * v; A(); ~A(); A(const A &obj); } /////////////////////...

Почему не вызывается конструктор перемещения?
#include <iostream> #include <vector> class Object { public: Object() ...

Почему не вызывается конструктор копии?
Почему не вызывается конструктор копии? class CPoint { friend...

0
Другие темы раздела
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 по методу симпсона с точностью до одной тысячной.буду оч.благодарен))) подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru