Обзор библиотеки Boost
Материал из SEWiki
Версия от 11:15, 31 мая 2011; Aleksandr.kartashov (обсуждение | вклад)
Мы рассмотрим несколько полезных модулей библиотеки Boost,
Умные указатели
Все рассмотренные в прошлом семестре <<умные> указатели представлены в библиотеке Boost.
-
scoped_ptrиscoped_array, -
shared_ptrиshared_array, -
weak_ptr--- ссылка на объект, который находится под управлениемshared_ptr.
Следует отметить, что через этот указатель нельзя обратиться к объекту напрямую --- можно только создать
shared_ptr, указывающий на этот объект, с помощью метода lock() --- если объект
уже уничтожен, то возвращается пустой shared_ptr.
-
intrusive_ptr<T>--- аналогshared_ptr<T>; требует, чтобы у типаT
были определены методы intrusive_ptr_add_ref() и intrusive_ptr_release(). У intrusive_ptr, по
крайней мере, два преимущества перед shared_ptr:
* размер объектаintrusive_ptrсовпадает с размером указателя, * объектаintrusive_ptr<T>можно проинициализироватьT*.