qu'adviendra-t-il de la portion de renforcement qui se chevauchera une fois que C ++ 0x deviendra le courant dominant?

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

  •  03-07-2019
  •  | 
  •  

Question

Que se passera-t-il avec la partie de superposition superposée une fois que C ++ 0x sera intégré?

Est-ce que boost contient toujours tout ce qu'il était avant ou adaptera-t-il la bibliothèque pour la mettre à jour avec le nouveau std :: stuff?

Est-ce que boost aura à la fois une version normale de c ++ et une version de c ++ 0x qu’ils conserveront?

Était-ce utile?

La solution

On pourrait espérer que Boost continue de prendre en charge les classes existantes, pour plusieurs raisons.

Tout d'abord, il existe un corps de code qui utilise les fonctionnalités qui se chevauchent dans Boost qui doit être pris en charge pendant un certain temps.

Deuxièmement, les implémentations qui se chevauchent me permettent de choisir celle que je préférerais utiliser. Il peut y avoir une différence entre std :: Frob et Boost :: Frob qui est importante pour mon projet, et avoir le choix est bon.

À long terme, cependant, je m'attendrais à une migration vers la norme des rédacteurs d'applications et des fournisseurs d'outils. Cela fait un choix moins risqué d’utiliser std ::.

.

Autres conseils

Je ne suis pas affilié à Boost et je ne sais pas ce qu’ils vont faire, mais il semble que Boost ne soit pas touché.

La version TR1 (pack de fonctionnalités VS 2008) a déjà été publiée et Boost n’a pas été modifié. Étant donné que de nombreux utilisateurs n’ont pas encore adopté Boost ou TR1, ma prédiction est que, pendant au moins cinq prochaines années, les bibliothèques boost et c ++ 0x existeront dans différents espaces de noms et seront disponibles pour les utilisateurs C ++ 0x ainsi que les utilisateurs C ++.

Les espaces de noms en font en quelque sorte un non-problème pour les développeurs de Boost. Il n'y a pas de conflit direct entre les bibliothèques boost et les bibliothèques standard car elles existent dans des espaces de noms séparés. Par conséquent, les modifications apportées à l'espace de noms std (par exemple l'ajout de std :: tr1) n'ont aucun impact direct sur Boost.

Notez cependant que si vous importez les deux bibliothèques (std et boost) dans l'espace de noms global, vous aurez des problèmes.

La citation suivante de la documentation Boost TR1 apporte également des éclaircissements sur la mise en œuvre par Boost des composants TR1, suggérant que la bibliothèque Boost correspondante sera conservée dans un avenir proche:

  

La bibliothèque TR1 fournit une   implémentation de la technique C ++   Rapport sur les extensions de bibliothèque standard.   Cette bibliothèque n'implémente pas elle-même   les composants TR1, c'est plutôt une mince   emballage qui comprendra votre   Implémentation de la bibliothèque standard TR1   (s'il en a un), sinon il le fera   inclure les équivalents de la bibliothèque Boost,   et les importer dans l'espace de noms std :: tr1.

Voulez-vous dire tr1?

Boost supporte déjà tr1. Toutes les classes de boost qui ont été adoptées dans std :: tr1 sont disponibles dans cet espace de noms à partir de boost. Voir la documentation suivante.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top