Se você estiver usando um compilador pré-TR1, ponteiros inteligentes
boost::shared_ptr
boost::weak_ptr
boost::scoped_ptr
boost::scoped_array
boost::shared_array
Se o seu compilador já tiver ponteiros inteligentes, use-os.
O motivo é óbvio que o C ++ sem ponteiros inteligentes não é basicamente o C ++
As bibliotecas boost ptr_contaier.
Todos os contêineres da STL foram reimplementados especificamente para conter ponteiros. Os contêineres não são apenas proprietários dos ponteiros, de modo que, quando o contêiner é destruído, ele destrói automaticamente todos os ponteiros. MAS também fornece acessos a elementos como referências normais a objetos (não ponteiros), facilitando o uso dos objetos em algoritmos padrão, sem a função de wrapper.
As bibliotecas lambda boost. (veja o comentário abaixo)
Os functores e ligantes STL são bons para coisas simples. Mas o boost :: lambda deu o próximo passo e simplificou bastante as coisas ao usar os algoritmos padrão.
boost :: any e boost :: variant
Quando você precisa segurar objetos sem querer saber seu tipo exato.
Multi Contentores
Contêineres que permitem várias maneiras diferentes de acessar os elementos.
Longe vão os dias em que você tem um vetor de objetos e um mapa separado para um vetor de pesquisa rápida. Isso reduz o padrão que você precisa escrever para manter os dois contêineres ao inserir / excluir elementos nos contêineres.
boost :: lexical_cast
Provavelmente o menos útil na vida real, mas muito divertido de brincar é o boost :: lexical_cast. Ele converte qualquer objeto em / de uma string (desde que esse tipo tenha os operadores << e >> apropriados definidos). Muito útil para despejar mensagens de erro ao remover erros.