Bon, plutôt que de râler, je suis aller lire le lien proposé dans la dépêche sur les nouveautés de C++ (les dépêches techniques, c'est bien fait pour ça non ?)
Je dois reconnaître qu'il y a plein de bonnes choses. Des constructions qui étaient régulièrement pénibles à mettre en oeuvre deviennent plus souples (initializer-list, initialisation des variables non statiques dans les classes, etc). Le langage va clairement être beaucoup moins rigide.
Par contre, bonjour la croissance en complexité. Et j'en suis qu'au début.
Par exemple, si vous pensiez que c'était compliqué de penser à la fois au constructeur par défaut, constructeur par copie et copie explicite, bienvenue dans le nouveau C++11 où il faudra aussi penser au constructeur par déplacement et copie par déplacement, et avoir en tête qu'une partie est généré automatiquement.
Je vous laisse méditer 5 minutes sur cette petite phrase avant d'être sûr d'en avoir extrait la signification: If any move, copy, or destructor is explicitly specified (declared, defined, =default, or =delete) by the user, no move is generated by default. If any move, copy, or destructor is explicitly specified (declared, defined, =default, or =delete) by the user, any undeclared copy operations are generated by default, but this is deprecated, so don't rely on that.
Pour ma part ... hum hum (sourire gêné) ... je vais avoir besoin de plus de 5 minutes pour aller lire ces histoires de move.
[^] # Re: Intéressant
Posté par Philippe F (site web personnel) . En réponse à la dépêche Je crée mon jeu vidéo E09 : Techniques de C++11 appliquées au système à entités. Évalué à 4.
Bon, plutôt que de râler, je suis aller lire le lien proposé dans la dépêche sur les nouveautés de C++ (les dépêches techniques, c'est bien fait pour ça non ?)
Je dois reconnaître qu'il y a plein de bonnes choses. Des constructions qui étaient régulièrement pénibles à mettre en oeuvre deviennent plus souples (initializer-list, initialisation des variables non statiques dans les classes, etc). Le langage va clairement être beaucoup moins rigide.
Par contre, bonjour la croissance en complexité. Et j'en suis qu'au début.
Par exemple, si vous pensiez que c'était compliqué de penser à la fois au constructeur par défaut, constructeur par copie et copie explicite, bienvenue dans le nouveau C++11 où il faudra aussi penser au constructeur par déplacement et copie par déplacement, et avoir en tête qu'une partie est généré automatiquement.
Je vous laisse méditer 5 minutes sur cette petite phrase avant d'être sûr d'en avoir extrait la signification:
If any move, copy, or destructor is explicitly specified (declared, defined, =default, or =delete) by the user, no move is generated by default. If any move, copy, or destructor is explicitly specified (declared, defined, =default, or =delete) by the user, any undeclared copy operations are generated by default, but this is deprecated, so don't rely on that.
Pour ma part ... hum hum (sourire gêné) ... je vais avoir besoin de plus de 5 minutes pour aller lire ces histoires de move.