Size: a a a

Конференция C++ Russia

2020 February 20

AB

Alexander Bychuk in Конференция C++ Russia
Alexey Kuznetsov
По поводу колбэка кто спрашивал, зачем там move. Прошу прощения, не сразу поняли вопрос. Там вызывается OnceCallback. Именно по этому он вызвался через move.
Все равно не понятно. В показанном коде, время жизни объекта callback ограничено областью функции, в которую он был передан и вызов move становится бессмысленным.
источник

FO

FORTRAN ONE LOVE in Конференция C++ Russia
Flex Ferrum
Привет :)
@AlexFails, этот человек создаст стандарт WG 26283?
источник

A

Alex Ф-ф-фэils!🌠︙ in Конференция C++ Russia
источник

АК

Александр Караев in Конференция C++ Russia
Alexander Bychuk
Все равно не понятно. В показанном коде, время жизни объекта callback ограничено областью функции, в которую он был передан и вызов move становится бессмысленным.
Провангую: метод имеет перегрузки по ref qualifiers, поэтому скорее всего оптимизирован для *this &&
источник

AK

Alexey Kuznetsov in Конференция C++ Russia
Alexander Bychuk
Все равно не понятно. В показанном коде, время жизни объекта callback ограничено областью функции, в которую он был передан и вызов move становится бессмысленным.
он туда не копировался а мувился) по этому время жизни у него не ограничено этой функцией. А мувился он потому что у него констуктор копирования и оператор присваивания = delete. Ну и + соглашение гугла, которое они проверяют на этапе компиляции, что Oncecallback должен вызываться только с move вместе.
источник

MM

Mikhail Matrosov in Конференция C++ Russia
источник

MM

Mikhail Matrosov in Конференция C++ Russia
Alexey Kuznetsov
По поводу колбэка кто спрашивал, зачем там move. Прошу прощения, не сразу поняли вопрос. Там вызывается OnceCallback. Именно по этому он вызвался через move.
Всё равно неясно. Move может на, что-то повлиять, только если у метода есть &&-спецификатор вызова. Ведь move это просто каст, он ничего больше не делает
источник

MM

Mikhail Matrosov in Конференция C++ Russia
Ну на жизнь объекта он точно никак не влияет
источник

AK

Alexey Kuznetsov in Конференция C++ Russia
я могу скинуть немного шаблонной магии этого колбэка - https://cs.chromium.org/chromium/src/base/callback.h?q=callback.h&sq=package:chromium&g=0&l=57 - если интересно)
источник

АК

Александр Караев in Конференция C++ Russia
Alexey Kuznetsov
я могу скинуть немного шаблонной магии этого колбэка - https://cs.chromium.org/chromium/src/base/callback.h?q=callback.h&sq=package:chromium&g=0&l=57 - если интересно)
Ну да, форсирование &&, чтобы дважды не вызывали, вероятно.
источник

MM

Mikhail Matrosov in Конференция C++ Russia
Александр Караев
Ну да, форсирование &&, чтобы дважды не вызывали, вероятно.
Как это помешает вызвать второй раз?
источник

АК

Александр Караев in Конференция C++ Russia
Mikhail Matrosov
Как это помешает вызвать второй раз?
Компиляции никак не помешает, конечно, ибо destructive move с компайл-тайм проверками пока не завезли. Но глаз зацепится за два мува подряд в коде
источник

MM

Mikhail Matrosov in Конференция C++ Russia
Александр Караев
Компиляции никак не помешает, конечно, ибо destructive move с компайл-тайм проверками пока не завезли. Но глаз зацепится за два мува подряд в коде
У меня глаз цепляется за один мув, который потом никуда не передаётся)
источник

MM

Mikhail Matrosov in Конференция C++ Russia
И не только у меня
источник

АК

Александр Караев in Конференция C++ Russia
Mikhail Matrosov
У меня глаз цепляется за один мув, который потом никуда не передаётся)
Ну, перегрузка для && - вообще редкий случай. Но в шаблонном коде с F&& f ведь пишут std::invoke(std::forward<F>(f)) (акцент на forward), чтобы вызвался нужный operator (), тут практически тоже самое
источник

АК

Александр Караев in Конференция C++ Russia
Или представить случай, когда функтор хранит unique_ptr и в operator() && мувает его из себя
источник

AV

Alexey Veselovsky in Конференция C++ Russia
вопрос по такой сущности на конференции, как "мастер классы" - что это такое вообще? поскольку их не записывают и не выкладывают и их аналогов нет на митапах и прочих мероприятиях, то не ясно нужно ли их хотеть, имеет ли смысл за них платить, и имеет ли их смысл пытаться провести.

что это за звери такие? хотелось бы примеров наглядных.
источник

AV

Alexey Veselovsky in Конференция C++ Russia
ибо по словосочетанию "мастер класс" у меня лично возникает образ школьного урока информатики, бессмысленного и беспощадного.
источник

SP

Sergey Platonov in Конференция C++ Russia
проще один раз сходить, честно
источник

SP

Sergey Platonov in Конференция C++ Russia
это такой интенсив по заданной теме
источник