O que acontecerá com a parte sobreposta do Boost quando C ++ 0x se tornar mainstream?

StackOverflow https://stackoverflow.com/questions/405175

  •  03-07-2019
  •  | 
  •  

Pergunta

O que acontecerá com a parte sobreposta do Boost quando C ++ 0x se tornar mainstream?

O Boost ainda conterá tudo o que costumava, ou eles adaptarão a biblioteca para atualizá -la com o novo STD :: Stuff?

O Boost terá uma versão C ++ normal e uma versão C ++ 0x que eles manterão?

Foi útil?

Solução

Um faria ter esperança Esse impulso continua a apoiar as classes existentes, por alguns motivos.

Primeiro, existe um corpo de código que usa os recursos sobrepostos no Boost que precisam ser suportados por algum tempo.

Segundo, as implementações sobrepostas me permitem selecionar qual eu prefiro usar. Pode haver alguma diferença entre Std :: Frob e Boost :: Frob que é importante para o meu projeto, e ter uma escolha é bom.

A longo prazo, porém, eu esperaria uma migração para o padrão dos escritores de aplicativos e dos provedores de ferramentas. Isso o torna uma escolha menos arriscada com o std ::.

Outras dicas

Não sou afiliado ao Boost e não tenho que a ideia do que eles farão, mas parece que o Boost ficará intocado.

Já foi lançado o TR1 (vs 2008, pacote de recursos) e o Boost foi deixado intocado. Como muitos usuários ainda não adotaram o Boost ou TR1, minha previsão é que, pelo menos nos próximos cinco anos, o impulso e as bibliotecas C ++ 0x existirão em diferentes espaços de nome e disponíveis para usuários de C ++ 0x, bem como para usuários de C ++.

Os espaços para nomes tornam isso um pouco de problema para os desenvolvedores do Boost. Não há discussão direta entre as bibliotecas de impulso e as bibliotecas padrão porque elas existem em namespaces separados. Portanto, as alterações no espaço para nome STD (por exemplo, a adição de std :: tr1) não têm impacto direto no aumento.

Observe que, no entanto, se você estiver importando as duas bibliotecas (STD e Boost) para o espaço para nome global, terá problemas.

A citação a seguir da documentação do impulso TR1 também lança alguma luz sobre a implementação dos componentes TR1 por Boost, sugerindo que a biblioteca de impulso correspondente será mantida para o futuro próximo:

A biblioteca TR1 fornece uma implementação do relatório técnico C ++ nas extensões de biblioteca padrão. Esta biblioteca não implementa os componentes TR1, mas é um invólucro fino que incluirá a implementação do TR1 da sua biblioteca padrão (se tiver uma); caso contrário, incluirá os equivalentes da biblioteca de impulso e os importará para o espaço para nome STD :: TR1.

Você quer dizer TR1?

O Boost já suporta TR1. Todas as classes do Boost que foram adotadas no std :: TR1 estão disponíveis neste espaço de nome da Boost. Veja a seguinte documentação.

http://www.boost.org/doc/libs/1_37_0/doc/html/boost_tr1.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top