LINUX.ORG.RU

История изменений

Исправление zurg, (текущая версия) :

Так-то да, но в контексте теста это был самый простой и сравнимый с ручным управлением способ пихнуть что-нибудь в кучу, но можно как и у ТС сделать, раскидываясь сыроуказателями и ничего не проверяя: https://godbolt.org/z/P59ca1Mxq , разница только в отсутствии проверки успешности аллокации.

Arc<RefCell> тоже довольно бесполезная конструкция, но она ближе всего по свойствам в том числе и errorpron-овости к shared_ptr ( но даже она не допустит UB), а обычно используемые Arc<Mutex>, Arc<RwLock> уже довольно далеко ушли от shared_ptr

Исправление zurg, :

Так-то да, но в контексте теста это был самый простой и сравнимый с ручным управлением способ пихнуть что-нибудь в кучу, но можно как и у ТС сделать, раскидываясь сыроуказателями и ничего не проверяя: https://godbolt.org/z/P59ca1Mxq , разница только в отсутствии проверки успешности аллокации.

Arc<RefCell> тоже довольно бесполезная конструкция, но ближе всего к errorpron-овости shared_ptr ( но даже она не допустит UB), а обычно используемые Arc<Mutex>, Arc<RwLock> уже довольно далеко ушли от shared_ptr

Исходная версия zurg, :

Так-то да, но в контексте теста это был самый простой и сравнимый с ручным управлением способ пихнуть что-нибудь в кучу, но можно как и у ТС сделать, раскидываясь сыроуказателями и ничего не проверяя: https://godbolt.org/z/P59ca1Mxq , разница только в отсутствии проверки успешности аллокации.

Arc тоже довольно бесполезная конструкция, но ближе всего к errorpron-овости shared_ptr ( но даже она не допустит UB), а обычно используемые Arc, Arc уже довольно далеко ушли от shared_ptr