Dans son article, Bjarne explique que cette norme est entrée dans "une phase décisive" en vue de sa ratification en 2008. Il explique aussi que l'esprit de cette future norme est davantage de modifier la façon qu'ont les programmeurs de concevoir leur code plutôt que leur manière de l'écrire.
Une des priorités est de limiter l'introduction de nouveautés du langage au profit d'un enrichissement de la bibliothèque standard, dans un esprit de généricité, de simplicité et bien sûr de performance.
Bjarne effectue ensuite un rapide tour d'horizon des nouveautés. Il sera ainsi possible d'initialiser statiquement un conteneur avec une liste d'initialisation (au moyen de ce qui sera vraisemblablement un constructeur de séquence):
Code : | Sélectionner tout |
1 2 3 4 5 6 7 | class A {}; std::vector<A*> v = { new A, new A, new A }; |
Code : | Sélectionner tout |
1 2 | template<class T> using Vec = vector<T,My_alloc<T>>; Vec<double> v = { 2.3, 1.2, 6.7, 4.5 }; |
Code : | Sélectionner tout |
sort( v ); // remplace sort( v.begin(), v.end() );
Code : | Sélectionner tout |
1 2 3 | template<Container C, Predicate Cmp> where Can_call_with<Cmp,typename C::value_type> // mot-clé where void sort(C& c, Cmp less); |
Ainsi, l'utilisation des itérateurs de la STL sera fortement allégée. Au lieu d'écrire:
Code : | Sélectionner tout |
1 2 | for (std::vector<double>::const_iterator p = v.begin(); p!=v.end(); ++p) cout << *p << endl; |
on pourra simplement écrire:
Code : | Sélectionner tout |
1 2 | for (auto p = v.begin(); p!=v.end(); ++p) cout << *p << endl; |
La bibliothèque standard va elle aussi être fortement enrichie, avec l'apparition
- des tables de hachage
- des expressions régulières
- de pointeurs intelligents plus complets
- de fonctions mathématiques spéciales
En revanche le C++ ne comportera toujours pas de bibliothèque graphique standard, mais pourrait disposer d'un garbage collector et d'une gestion des threads. Les développeurs sur systèmes embarqués ne sont pas non plus oubliés, avec l'apparition d'une bibliothèque facilitant l'utilisation directe du matériel.