Reference-counting пойнтеры избавляют от утечек?
Чтобы отстрелить ногу наверняка, надо смешать в одном приложении reference-counting и GC, и дать ему нагрузку.
классы в качестве полей имеют право содержать auto_ptr только для отношения родитель-ребенок, во всех остальных случаях должен быть weak_ptr
ps
такую штуку можно даже статически верифицировать на отсутствие колец.
auto_ptr is deprecated in favour of unique_ptr in C++11, между прочим!
однофигственно. в unique_ptr лишь move явно надо делать, а в auto_ptr он делался не явно.
Странный вопрос. Утечка памяти - это баг, и, независимо от выбранного метода управления жизненным циклом объектов, у тебя может быть баг, который приведет к утечке памяти, например, считаешь референсы, а unref забыл вызвать.
у тебя может быть баг, который приведет к утечке памяти, например, считаешь референсы, а unref забыл вызвать.Да, помню, в COM это было обычное дело.
а unref забыл вызвать.а потому что его явно надо вызывать только в особых случаях и, соответственно, проверить все тышшу раз!


например, считаешь референсы, а unref забыл вызвать.Ну типа, это обязанность QSharedPointer в данном случае.

Чтобы отстрелить ногу наверняка, надо смешать в одном приложении reference-counting и GC, и дать ему нагрузку.Питон под нагрузкой? Нет, не слышал.
Питон под нагрузкой? Нет, не слышал.подкинь что ли ссылок тогда?
пока я нагуглил что в питоне как раз refcounting, дополненный cycle detector
Maybe some day a sufficiently portable automatic garbage collector will be available for C. Until then, we’ll have to live with reference counts.
Питон под нагрузкой? Нет, не слышал.Разве gc в приложениях с большой нагрузкой не принято отключать?
Разве gc в приложениях с большой нагрузкой не принято отключать?Большой нагрузке большая память!
Разве gc в приложениях с большой нагрузкой не принято отключать?Не знаю о таком.
В 2.7 и позже задумываться об этом не надо, потому что он вызывается только когда активно на 25% больше аллокаций чем при предыдущем вызове.
Имхо это решается индивидуально в зависимости от приложения и высокая нагрузка в терминах web тут вообще не при чем.
Оставить комментарий
apl13
Допустим, циркулярных зависимостей не будет.Или лучше как-то более прицельно стрелять себе в ногу?