Size: a a a

2020 May 05

CD

Constantine Drozdov in pro.cxx
Поскольку в противном случае деструктор inner_weak триггернет деаллокацию памяти под объектом и вряд ли вам это понравится, если это не первый предок объекта
источник

CD

Constantine Drozdov in pro.cxx
Наверное, эта реализация должна будет начать с копирования inner_weak до вызова деструктора
источник

А

Андрей in pro.cxx
а что если сделать лок в деструкторе и передать куда подальше, это разве не уб будет?
источник

CD

Constantine Drozdov in pro.cxx
Андрей
а что если сделать лок в деструкторе и передать куда подальше, это разве не уб будет?
вопрос вернет он 0 или вообще убнет
источник

CD

Constantine Drozdov in pro.cxx
локаемый weak в деструкторе получиться вообще не может
источник

NP

Nikita Provotorov in pro.cxx
лок от weak_ptr вернет 0
источник

NP

Nikita Provotorov in pro.cxx
хотя не, не буду утверждать наверняка, это я исхожу из логики что если деструктор сработал, значит shared_ptr не осталось)
источник

А

Андрей in pro.cxx
благодаря вашей дискуссии, нашел багу в велосипедных умных указателях )
источник

CD

Constantine Drozdov in pro.cxx
Андрей
благодаря вашей дискуссии, нашел багу в велосипедных умных указателях )
ну там по логике три реализации enable_shared_from, либо ты копируешь inner_weak перед вызовом деструктора, либо мувишь, либо забиваешь
источник

CD

Constantine Drozdov in pro.cxx
первое даст ненулевой weak_from_this с нулевым локом, второе нулевой, третее убает
источник

А

Андрей in pro.cxx
Constantine Drozdov
ну там по логике три реализации enable_shared_from, либо ты копируешь inner_weak перед вызовом деструктора, либо мувишь, либо забиваешь
это типа есть три стула?
источник

CD

Constantine Drozdov in pro.cxx
Андрей
это типа есть три стула?
ага, причем эта логика должна быть вшита в обертку над делитером, видимо
источник

А

Андрей in pro.cxx
Constantine Drozdov
ага, причем эта логика должна быть вшита в обертку над делитером, видимо
какой стул лучше?
источник

CD

Constantine Drozdov in pro.cxx
Андрей
какой стул лучше?
ну так зависит от потребностей, если у тебя событийное безумие я бы тебе копировать предлолжил, так безопаснее
источник

CD

Constantine Drozdov in pro.cxx
разумеется, это все актуально в случае, когда shared_ptr одним блоком аллокнут, при двух вроде другие расклады
источник

CD

Constantine Drozdov in pro.cxx
забавно, что у меня в реализации delete this таки сидит в обертке делитера
источник

DF

Dollar Føølish in pro.cxx
Про делитер непонятно
источник

DF

Dollar Føølish in pro.cxx
Про то что логика должна быть вшита
источник

DF

Dollar Føølish in pro.cxx
Можно попросить вас рассказать почему именно делитер?
источник

DF

Dollar Føølish in pro.cxx
А не сам класс обертки)
источник