История изменений
Исправление 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