Size: a a a

2021 March 20

AP

Antony Polukhin in pro.cxx
Constantine Drozdov
А вот это интересный вопрос. unique_ptr<T> означает, что либо T плохо перемещается, либо T& полиморфный; плохо перемещаются большие объекты и объекты с неконтролируемыми ссылками, полиморфные возвраты обычно существенно рантаймовы и завязаны на ввод. Если я ничего не упускаю, то в случае неконтролируемых обратных ссылок нас уже ничего не спасёт, а в остальных (большой или данные для типа читались в рантайме) объект потенциально-асинхронный и логика с лямбдами для него роднее?
Я без примеров потреялся (
источник

АК

Александр Караев... in pro.cxx
Constantine Drozdov
Или никогда не возвращать borrowed, а вместо этого передавать их в лямбды :)
Можешь раскрыть мысль про лямбды? Не понимаю
источник

CD

Constantine Drozdov in pro.cxx
Antony Polukhin
Я без примеров потреялся (
(а) T большой => хотим многопоточить
(б) T зависит от чтения из std::cin => хотим асинхронить
(в) на T создаются и потом стираются ссылки => лайфтаймы не работают
если хотим многопоточить/асинхронить, то обычно мы хотим явно записанную операцию над объектом
источник

CD

Constantine Drozdov in pro.cxx
Александр Караев
Можешь раскрыть мысль про лямбды? Не понимаю
Ты хочешь добиться такой ситуации, что у тебя никогда объект и его кишки не встречаются в одном scope. Для этого вместо do_smth(obj.inner()) ты делаешь object.send_inner_to(do_smth)
источник

AP

Antony Polukhin in pro.cxx
Constantine Drozdov
(а) T большой => хотим многопоточить
(б) T зависит от чтения из std::cin => хотим асинхронить
(в) на T создаются и потом стираются ссылки => лайфтаймы не работают
если хотим многопоточить/асинхронить, то обычно мы хотим явно записанную операцию над объектом
не-не-не, я предллагаю не 3 проблемв решать, а одну - висящие ссылки
источник

CD

Constantine Drozdov in pro.cxx
Antony Polukhin
не-не-не, я предллагаю не 3 проблемв решать, а одну - висящие ссылки
я говорю, что все случаи использования unique_ptr<T> похожи на случай, когда unique_ptr<T>::send_ref_to(do_smth) выглядит логичным
источник

AP

Antony Polukhin in pro.cxx
писать действия надо объектом и провоцировать всех на функциональный стиль программирования - это не императивненько.
источник

AP

Antony Polukhin in pro.cxx
удобство использования языка пострадает
источник

AP

Antony Polukhin in pro.cxx
или я недопонял идею (
источник

CD

Constantine Drozdov in pro.cxx
Antony Polukhin
или я недопонял идею (
всё правильно понял, но есть ли у нас будущее кроме асинхронности и есть ли императивное будущее у асинхронности?
источник

AP

Antony Polukhin in pro.cxx
Constantine Drozdov
всё правильно понял, но есть ли у нас будущее кроме асинхронности и есть ли императивное будущее у асинхронности?
корутины же
все императивные языки пошли этим путём, людям нравится
источник

CD

Constantine Drozdov in pro.cxx
Antony Polukhin
корутины же
все императивные языки пошли этим путём, людям нравится
тогда co_await std::unique_ptr :)
источник

AP

Antony Polukhin in pro.cxx
источник

D

Dmitriy in pro.cxx
Существуют ли хорошие кастомные реализации tuple?
источник

CD

Constantine Drozdov in pro.cxx
а почему нет?
источник

AP

Antony Polukhin in pro.cxx
Dmitriy
Существуют ли хорошие кастомные реализации tuple?
А вам для чего? Какую задачу решаете?
источник

D

Dmitriy in pro.cxx
Antony Polukhin
А вам для чего? Какую задачу решаете?
Задачу по использованию tuple там, где нет полноценной STL и std::exception, но есть, как минимум, набор собственных type_traits и доп. функций вроде move/forward
источник

LA

Liber Azerate in pro.cxx
Dmitriy
Задачу по использованию tuple там, где нет полноценной STL и std::exception, но есть, как минимум, набор собственных type_traits и доп. функций вроде move/forward
https://t.me/ProCxx/428186
Тут была реализация на монадах
источник

AP

Antony Polukhin in pro.cxx
Dmitriy
Задачу по использованию tuple там, где нет полноценной STL и std::exception, но есть, как минимум, набор собственных type_traits и доп. функций вроде move/forward
Есть вот такой простой tuple, который можно скопировать к себе в порект https://github.com/boostorg/pfr/blob/develop/include/boost/pfr/detail/sequence_tuple.hpp
источник

D

Dmitriy in pro.cxx
Благодарю!)
источник