кого либо значения из контейнера мне нужно сделать так ? int value{std::move(array.at[0])};
2. Если перемещение возможно, то что будет с первым элементом контейнера ? Контейнер высвободит память от первого элемента и изменит размер контейнера?
1) для начала определиться, всё-таки .at или оператор [] :) Вообще да, достаточно обернуть перемещаемое значение в std::move ( с некоторыми исключениями, конечно) 2) останется в "консистентном, но произвольном" состоянии. В общем, объект в контейнере останется, но будет "каким-то". С ним стоит обращаться так, как будто он пустой.
Ты даже близко не понимаешь, для чего нужно перемещение. Пока не понимаешь, не используй move, тут он не нужен
Не познал я вашего могущества. Увы(
Логика перемещение полностью реализуется конструктором перемещения. Нет, объект (переменная/элемент контейнера/поле структуры/...) никуда не перемещается – он реализует логику эффективной передачи своего содержимого на усмотрение программиста Это значит, что такой элемент продолжит жить внутри контейнера, ему обычно можно присвоить новое значение и у него обязательно рано или поздно будет вызван деструктор – он должен адекватно это обработать
Встроенные типы переместить невозможно, так понятно?
Обсуждают сегодня