Публикации по теме '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..