Публикации по теме 'smart-pointer'
Безопасность потоков с помощью std::shared_ptr
В C++ std::shared_ptr — это интеллектуальный указатель, который позволяет нескольким объектам совместно владеть одним ресурсом. Это может быть полезно для таких вещей, как кэширование или общие структуры данных. Когда создается новый shared_ptr, он указывает на динамически размещаемый объект и устанавливает счетчик ссылок равным 1. Всякий раз, когда создается другой shared_ptr, указывающий на тот же объект, его счетчик ссылок увеличивается на 1. Когда shared_ptr выходит за пределы области..
Сказка о двух выделениях
make_shared против shared_ptr
Краткое резюме:
Просто краткий обзор: общие указатели работают на основе концепции счетчика ссылок, они поддерживают отдельный блок управления, в котором хранится этот счетчик.
Как работает shared_ptr, так это то, что они поддерживают -
сильный счетчик ссылок (S) — количество общих_ptr(ов), поддерживающих объект в рабочем состоянии. Общий объект уничтожается (и, возможно, освобождается), когда исчезает последняя сильная ссылка.
weak reference..
C ++: shared_ptr и как написать свой
В предыдущем посте мы обсуждали умные указатели - что это такое и чем они лучше обычных указателей w.r.t. управление динамически выделяемой памятью. Мы также узнали о классе интеллектуального указателя, присутствующем в STL, т.е. unique_ptr , и о том, как мы можем реализовать наш собственный класс интеллектуального указателя.
В продолжение мы собираемся обсудить shared_ptr и то, как мы можем написать класс, который работает так же, как стандартный класс shared_ptr. shared_ptr..