Обзор библиотеки Boost
Материал из SEWiki
Версия от 11:30, 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*.
- размер объекта
Версия <<умного>> указателя с суффиксом _array управляет временем жизни массива, а не
отдельного объекта
Строковые алгоритмы
Строковые алгоритмы Boost являются обобщением и расширением методов строковых классов STL и алгоритмов STL, предназначенных для работы с последовательностями.
- Преобразование регистра:
to_upper(input)иto_lower(iput). - Удаление пробельных символов в начале и в конце строки
trim_left[_if](input [, predicate]),trim_right[_if](input[, predicate]иtrim[_if](input[, predicate])/code>.