powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / std::move
6 сообщений из 6, страница 1 из 1
std::move
    #39632803
semen.s.semen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расскажите пожалуйста могу ли я применять std::move к объектами или я могу это делать только с ссылками ?

Test t{};

v(std::move(t)); - корректная ли такая запись

v(std::move(&t)); - а такая

Спасибо
...
Рейтинг: 0 / 0
std::move
    #39632829
a guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
semen.s.semenРасскажите пожалуйста могу ли я применять std::move к объектамиДа хоть к функциям.
semen.s.semenили я могу это делать только с ссылками ?Выражения с типом ссылки не существует. Выражение, состоящее из имени переменной, объявленной как ссылка на T — это lvalue-выражение типа T, обозначающее объект, на который ссылается переменная.
...
Рейтинг: 0 / 0
std::move
    #39632849
semen.s.semen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v(std::move(&t)); - будет ли валидна такая запись ?
...
Рейтинг: 0 / 0
std::move
    #39632908
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semen.s.semenбудет ли валидна такая запись ?зависит от того, что такое v
std::move это каст, т.е. ты переводишь &t в тип, который принимает на вход v, если такой каст валиден - да, можно, если нет - нет. И ещё могут быть тонкости с возможностью "обнулить" входящий параметр.
Ну и после этого t считается невалидным. Что это значит: для некоторых типов move "уничтожает" перемещаемый объект(на самом деле объект никуда не перемещается), и работа с ним после этого - UB.

Могу ошибаться, поправьте, если что не так.
...
Рейтинг: 0 / 0
std::move
    #39633009
Фотография OoCc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
semen.s.semenv(std::move(&t)); - будет ли валидна такая запись ?

&t - операция взятия адреса переменной t. применение операции перемещения к адресу бессмысленна.
...
Рейтинг: 0 / 0
std::move
    #39633078
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OoCc&t - операция взятия адреса переменной t. применение операции перемещения к адресу бессмысленна.
Бессмысленна - да.
Но иногда в шаблонах для простоты реализации желательно чтобы нечто бессмысленное все же скомпилировалось.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / std::move
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]