Якщо ви використовуєте компілятор попереднього TR1, то розумні покажчики
boost::shared_ptr
boost::weak_ptr
boost::scoped_ptr
boost::scoped_array
boost::shared_array
Якщо ваш компілятор вже має розумні покажчики, використовуйте їх.
Причина очевидна C ++ без розумних покажчиків - це в основному не C ++
Збільшити бібліотеки ptr_contaier.
Усі контейнери STL повторно реалізовані спеціально для утримання покажчиків. Мало того, що контейнери беруть право власності на покажчики, щоб при знищенні контейнера він автоматично знищував усі покажчики. АЛЕ він також надає доступ до елементів як звичайних посилань на об'єкти (а не покажчики), це полегшує використання об'єктів у стандартних алгоритмах без обертових функторів.
Збільшення лямбда-бібліотек. (див. коментар нижче)
Функтори та в'яжучі STL в порядку для простих речей. Але boost :: lambda зробила це наступним кроком і робить речі набагато простішими при використанні стандартних алгоритмів.
boost :: будь-який і варіант boost ::
Коли потрібно тримати предмети, не бажаючи знати їх точний тип.
мультиіндексні контейнери
Контейнери, які дозволяють отримати кілька різних способів доступу до елементів.
Пройшли дні, коли у вас є векторний об'єкт та окрема карта для швидкого пошуку вектора. Це скорочує на плиті котла, що потрібно записати, щоб підтримувати два контейнери під час вставлення / видалення елементів у контейнери.
boost :: lexical_cast
Напевно, найменш корисне в реальному житті, але з ним весело грати - це boost :: lexical_cast. Він перетворює будь-який об'єкт у / з рядка (до тих пір, поки для цього типу визначені відповідні оператори << та >>). Дуже корисно для демпінгу повідомлень про помилки при видаленні помилок.