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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2018, 22:59   #1
CppLinux345
Пользователь
 
Регистрация: 26.09.2018
Сообщений: 23
Восклицание Помогите разобраться с конструктором перемещения

Можете пожалуйста обьяснить,как работает конструктор перемещения move?
CppLinux345 вне форума Ответить с цитированием
Старый 07.11.2018, 07:15   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Как напишите. https://en.cppreference.com/w/cpp/la...ve_constructor
p51x вне форума Ответить с цитированием
Старый 07.11.2018, 10:34   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Если на пальцах, то конструктор перемещения может нагло перенести в новый объект какие-то куски старого, совершенно не заботясь о сохранении состояния старого. Например, если объект хранит указатель на динамический массив из миллиона элементов, то конструктор копирования должен разместить новый массив и скопировать туда содержимое старого. А конструктор перемещения может просто сохранить этот же указатель в новом объекте, обнулив его в старом
Black Fregat вне форума Ответить с цитированием
Старый 07.11.2018, 11:49   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Я бы сказал, что это будет ожидаемое поведение. О чем, кстати, написано по ссылке.
p51x вне форума Ответить с цитированием
Старый 07.11.2018, 15:02   #5
CppLinux345
Пользователь
 
Регистрация: 26.09.2018
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Если на пальцах, то конструктор перемещения может нагло перенести в новый объект какие-то куски старого, совершенно не заботясь о сохранении состояния старого. Например, если объект хранит указатель на динамический массив из миллиона элементов, то конструктор копирования должен разместить новый массив и скопировать туда содержимое старого. А конструктор перемещения может просто сохранить этот же указатель в новом объекте, обнулив его в старом
Спасибо огромное
CppLinux345 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что с конструктором копирования? Вероника99 Общие вопросы C/C++ 34 25.05.2016 17:46
Ошибка с конструктором копирования Qwoort Общие вопросы C/C++ 11 13.06.2012 21:53
Проблемы с конструктором Merovingian Общие вопросы C/C++ 8 28.09.2011 14:55
Проблема с конструктором igor17 Общие вопросы C/C++ 13 15.05.2011 22:23
Помогите с конструктором girkoff Общие вопросы C/C++ 10 01.11.2009 16:01