Re[3]: Есть ли жизнь после перемещения?
От: SaZ  
Дата: 28.11.18 11:47
Оценка:
Здравствуйте, rg45, Вы писали:

R>Подход со swap хорош, когда речь идет о перемещающем операторе присваивания. Для конструктора же это означает, что мы сперва должны сконструировать все поля значениями по умолчанию, и только потом уже позвать swap в теле конструктора. Вот это конструирование полей значениями по умолчанию, в то время, когда у нас есть возможность сразу проинициализировать их нужными значениями, мне очень не нравится.


Может я что-то не так понял, но вам в любом случае нужно как-то сконструировать объект c валидным состоянием (в смысле заполнить перемещаемый объект валидным состоянием), если вы ходите использовать его после std::move. Но мне кажется, что стоит относится к перемещённым объектам как к непригодным для последующего использования.
Во всяком случае ReSharper мне кидает предупреждения, если я использую перемещённый объект.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.