En fait, je ne pense pas que les bibliothèques boost va devenir de l'héritage.
Oui, vous devriez être en mesure d'utiliser std::type_traits
, regex
, shared_ptr
, unique_ptr
, tuple<>
, std::tie
, std::begin
au lieu de Stimuler Typetraits/Utilitaire, Boost Smartpointer, Boost Tuple, Stimuler la Gamme des bibliothèques, mais il devrait en pratique être pas de réel besoin de "basculer" à moins que vous vous déplacez plus de votre code c++11.
Aussi, dans mon expérience, l' std
versions de la plupart de ces sont un peu moins plein de fonctionnalités. E. g. AFAICT le standard ne pas avoir
- Perl5 expressions régulières
- call_traits
- Certains regex membres d'interface (comme
bool boost::basic_regex<>::empty()
) et othe différences d'interface
- cette morsures de plus, depuis le coup de pouce de l'interface est exactement adapté avec Boost Xpressive
- et il joue beaucoup plus joliment avec Boost Chaîne d'Algorithmes
De toute évidence, ces derniers n'ont pas de standard homologues (encore?)
- Beaucoup de choses relatives à la TMP (Boost de Fusion)
-
Paresseux, d'expression basé sur un modèle lambdas, ils ont inévitablement des avantages qu'ils peuvent être polymorphes aujourd'hui, contrairement à C++11. Par conséquent, ils peuvent souvent être plus succinct:
std::vector<int> v = {1,2,-9,3};
for (auto i : v | filtered(_arg1 >=0))
std::cout << i << "\n";
// or:
boost::for_each(v, std::cout << _arg1);
Très certainement, cela a encore un certain attrait sur C++11 lambdas (avec des types de retour, explicite la capture et paramètres déclarés).
Il y a aussi un GRAND rôle pour Boost, précisément dans la facilitation de chemin-sage de la migration à partir de C++03 pour le C++11 et l'intégration de C++11 et C++03 code. Je suis particulièrement de la pensée de
- Booster Auto (BOOST_AUTO)
- Boost Utilitaire (
boost::result_of<>
et apparentés)
- Boost Foreach (BOOST_FOREACH)
- N'oubliez pas: Boost, qui permet d'écrire des classes avec la sémantique de déplacement, avec une syntaxe qui va compiler aussi bien sur C++03 compilateurs avec Boost 1_48+ et C++11 compilateurs.
Juste mon $0.02