Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.04.2016, 13:52   #11
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Код:
CSomeClass::~CSomeClass()
{
    delete data;
}
CSomeClass::CSomeClass(const CSomeClass& copy)
{
    data = copy.data;
}
CSomeClass::CSomeClass(CSomeClass&& move)
{
    data = move.data;
    move.data = 0;
}
waleri вне форума
Старый 13.04.2016, 14:06   #12
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

CSomeClass::~CSomeClass() - это деструктор

CSomeClass::CSomeClass(const CSomeClass& copy) это копировщик

CSomeClass::CSomeClass(CSomeClass&& move) - тут одна лишняя &

зачем вы делаете логическое умножение ?
RAFA91 вне форума
Старый 13.04.2016, 14:10   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
CSomeClass::CSomeClass(CSomeClass&& move) - тут одна лишняя &
Нет.

Цитата:
зачем вы делаете логическое умножение ?
Поэтому у вас и "не работает". Вы не знаете, что это и как это пишется...
p51x на форуме
Старый 13.04.2016, 14:14   #14
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

зачем это

move.data = 0;
RAFA91 вне форума
Старый 13.04.2016, 14:17   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
зачем это

move.data = 0;
обнуление указателя
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.04.2016, 14:18   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Потому что перемещение. Потому что у второго данные забрали. Чтоб он не уничтожил их в деструкторе, например.
p51x на форуме
Старый 13.04.2016, 14:20   #17
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

ну.

переместили

data = move.data;

и что ?

при return будет вызов копировщика. и деструктора
RAFA91 вне форума
Старый 13.04.2016, 14:21   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
ну.

переместили

data = move.data;

и что ?

при return будет вызов копировщика. и деструктора
в современном компиляторе не будет.
конструктор перемещения и деструктор временного объекта.

при таком варианте.

Код:
A a=CreateA();
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 13.04.2016, 14:23   #19
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

а я и не считаю вижуал 10 старьем
RAFA91 вне форума
Старый 13.04.2016, 14:24   #20
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну так и не заглядывайтесь на С++11, его в 10м году еще не было.
p51x на форуме
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик перемещения mitiay Общие вопросы Delphi 1 11.05.2015 20:50
Отслеживание перемещения picturebox Aleksa91 C# (си шарп) 7 15.06.2014 14:55
Планирование перемещения squid90 Фриланс 3 27.12.2011 21:48
Тормоза перемещения по DBGrid artemavd БД в Delphi 17 12.10.2010 17:52
С++ (конструктор, деструктор, копирующий конструктор) Jane-sad Помощь студентам 2 01.10.2010 10:01