for (std::vector<int>::const_iterator itr = myvec.begin(); itr != myvec.end(); ++itr)
sera remplacé par :
for (auto itr = myvec.cbegin(); itr != myvec.cend(); ++itr)```
il faut remplacer les .begin et .end par .cbegin et .cend, j'imagine pour que l'inférence de type produise un const_iterator au lieu d'un iterator, c'est logique mais comme cela nécessite de changer les habitudes des programmeurs, ça fera probablement une "erreur" (mineure) commune de plus.
2) le nullptr:
bool b = nullptr; // OK. b est faux.
C'est plutôt choquant comme choix. J'imagine que c'est dans la continuité du C/C++ qui considère que 0(int) correspond à faux(booléen) mais bon on peut voir ça aussi comme persister dans l'erreur..
3) unicode: utiliser le prefix u pour UTF-16, u8 pour UTF-8 me choque: de facto ça revient à légitimer UTF-16 comme le format par défaut, alors que son seul avantage est que c'est le format par défaut sous Windows, pour le reste c'est un format bâtard entre UTF-8(plus compact dans la plupart des cas, compatible ascendant avec ASCII) et UTF-32 (accès O(1) a tous les éléments d'une chaîne).
# Quelque petite remarques
Posté par reno . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 10.
Merci pour la dépêche très intéressante.
Quelques remarques:
1) dans
il faut remplacer les .begin et .end par .cbegin et .cend, j'imagine pour que l'inférence de type produise un const_iterator au lieu d'un iterator, c'est logique mais comme cela nécessite de changer les habitudes des programmeurs, ça fera probablement une "erreur" (mineure) commune de plus.
2) le nullptr:
C'est plutôt choquant comme choix. J'imagine que c'est dans la continuité du C/C++ qui considère que 0(int) correspond à faux(booléen) mais bon on peut voir ça aussi comme persister dans l'erreur..
3) unicode: utiliser le prefix u pour UTF-16, u8 pour UTF-8 me choque: de facto ça revient à légitimer UTF-16 comme le format par défaut, alors que son seul avantage est que c'est le format par défaut sous Windows, pour le reste c'est un format bâtard entre UTF-8(plus compact dans la plupart des cas, compatible ascendant avec ASCII) et UTF-32 (accès O(1) a tous les éléments d'une chaîne).