Size: a a a

2020 March 25

PK

Pavel Kazakov in pro.cxx
для последнего тебе нужен незабаненный мув-конструктор, но он не будет использоваться
источник

PK

Pavel Kazakov in pro.cxx
а для mandatory copy elision вообще пофигу -- есть он или нет
источник

P

Pepe 🐸 in pro.cxx
Pavel Kazakov
для последнего тебе нужен незабаненный мув-конструктор, но он не будет использоваться
да, я понимаю
источник

PZ

Pavel Zhigulin in pro.cxx
Но это просто супер странно ведь. Типа придумали move семантику, потом сказали "хватит копировать, вот вам std::move". И начал род людской, и я вместе с ним не копии возращать, а мувать все из функций. Но компилятор такой спрашивает: "ты идиот?".
источник

PZ

Pavel Zhigulin in pro.cxx
Вот это в ступор ставит :)
источник

PK

Pavel Kazakov in pro.cxx
это ставит в ступор, когда немного отвлекся, вроде подумал, что на волне и вроде понял, что надо везде мувы лепить, а оказалось не так :) надо взять себя в руки и попытаться въехать в это дерьмо на toy-примерах
источник

PK

Pavel Kazakov in pro.cxx
конкретно тут надо положиться на компилятор -- где ему кажется, что мув излишен, так и есть, и не надо его делать
источник

PZ

Pavel Zhigulin in pro.cxx
Ну, я просто перестал делать move из функции. В остальных местах это работает как ожидается)
источник

PK

Pavel Kazakov in pro.cxx
он все еще нужен в обычных конструкциях вроде
Widget(MyField mf)
 : mf{ std::move(mf) } {}
источник

M

Max in pro.cxx
Да просто название неудачное. Кажется, что std::move должен перемещать объект. А на самом деле он просто кастит к rvalue.
источник

M

Max in pro.cxx
Это просто надо знать, да и всё.
источник

PK

Pavel Kazakov in pro.cxx
Max
Да просто название неудачное. Кажется, что std::move должен перемещать объект. А на самом деле он просто кастит к rvalue.
там, по идее, других коротких вариантов почти нет
источник

M

Max in pro.cxx
Pavel Kazakov
там, по идее, других коротких вариантов почти нет
rcast?
источник

PK

Pavel Kazakov in pro.cxx
как Майерс говорил, мув не мувает, форвард не форвардит
источник

PK

Pavel Kazakov in pro.cxx
Max
rcast?
была как раз такая идея: rvalue_cast, но ее отвергли
источник

M

Max in pro.cxx
Pavel Kazakov
как Майерс говорил, мув не мувает, форвард не форвардит
Ну, это в стандарте написано, а не у Майерса)
Просто вроде как язык и сам бы мог это выражать.
источник

PK

Pavel Kazakov in pro.cxx
Max
Ну, это в стандарте написано, а не у Майерса)
Просто вроде как язык и сам бы мог это выражать.
я это из его лекций помню :)
источник

M

Max in pro.cxx
Pavel Kazakov
была как раз такая идея: rvalue_cast, но ее отвергли
Печаль)
источник

PK

Pavel Kazakov in pro.cxx
Max
Это просто надо знать, да и всё.
мне кажется, вот это хорошая bottom line :D надо просто знать и всё тут
источник

S

Stas in pro.cxx
Pavel Kazakov
как Майерс говорил, мув не мувает, форвард не форвардит
А потом выясняется что первый каст безусловный, а второй условный.
источник