IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

C++0x : le draft final est disponible au téléchargement
Apportez vos commentaires à la norme

Le , par Jean-Marc.Bourguet

57PARTAGES

1  0 
Ici: http://www.open-std.org/JTC1/SC22/WG...2010/n3092.pdf

La suite des opérations: jusque début juillet pour faire parvenir les commentaires officiels.

3 réunions pour agir sur ces commentaires (août 2010, novembre 2010, mars 2011). La dernière peut décider soit de repartir pour un FCD (et donc des commentaires dont il faut tenir compte) soit pour un FDIS (ou il faut dire oui ou non).

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de JolyLoic
Rédacteur/Modérateur https://www.developpez.com
Le 28/10/2010 à 13:05
J'avoue quand même être un peu inquiet. Le problème, à mon sens, c'est la move semantic (To move or not to move et Exceptions and Destructors sont tous deux liés à ce sujet). Or la move semantic était sensée être "finie" depuis pas mal de temps. Les compilateurs l'implémentent tous.

Et finalement, on se rend compte seulement depuis peu qu'elle est inutilisable sauf par des experts prêts à écrire beaucoup de code, et toutes les tentatives pour essayer de corriger ça rencontrent des problèmes. Je ne sais que penser.

J'ai un peu l'impression que pas mal d'avancées orientée débutant (concepts, modules, bibliothèques filesystem, date_time...) ont été bloquées (pas assez mis en pratique dans les compilateurs, arrivant trop tard) alors que les avancées orientée expert (variadic template, move semantic) ont été fortement poussés en avant ("ça marche déjà", sauf que pour la move semantic, ça ne marche pas...).

Je pense que le plus grand risque aujourd'hui pour le C++ n'est pas technique, mais lié à un étiolement de sa communauté de développeurs. Et je ne suis pas certain qu'on le fasse évoluer dans le bon sens pour ça.
1  0 
Avatar de oodini
Membre émérite https://www.developpez.com
Le 31/03/2010 à 11:49
C'est quoi le nouveau nom ? C++1x ?...
0  0 
Avatar de Jean-Marc.Bourguet
Expert éminent https://www.developpez.com
Le 31/03/2010 à 11:54
Si tu regardes les papiers du mailing, C++0X continue a etre utilise (et il me semble que je n'ai pas vu d'autre designation, mais je n'ai pas fait particulierement attention a cela)
0  0 
Avatar de koala01
Expert éminent sénior https://www.developpez.com
Le 31/03/2010 à 12:18
Citation Envoyé par Jean-Marc.Bourguet Voir le message
Si tu regardes les papiers du mailing, C++0X continue a etre utilise (et il me semble que je n'ai pas vu d'autre designation, mais je n'ai pas fait particulierement attention a cela)
D'après la discussion créée lorsqu'il a été voté, Herb Sutter aurait effectivement proposé de commencer à parler de C++11, pour en finir avec le troll relié à 0x...

Mais s'il y a des commentaires trop importants en mars 2011 (comprend "nécessitant des ajustements importants), nous risquons de repartir pour un tour, et je ne peux m'empêcher de penser que cela pourrait très facilement nous mener à 2012, et qu'il serait dommage de nommer C++11 une norme réellement finalisée en... 2012...

Bon, là, c'est le "scénario catastrophe", bien sur, car il faut rester optimiste et se dire que l'on peut effectivement espérer qu'elle sera finalisée dans le courent de l'année 2011.

Sa dénomination finale pourrait donc effectivement être C++11
0  0 
Avatar de 3DArchi
Rédacteur https://www.developpez.com
Le 01/04/2010 à 21:30
Salut,
On se rapproche donc, s'il y a peu de commentaires, de la future norme. A télécharger et lire précieusement maintenant.
0  0 
Avatar de JolyLoic
Rédacteur/Modérateur https://www.developpez.com
Le 01/04/2010 à 22:16
D'ailleurs, si certains ont des commentaires, n'hésitez pas, on transmettra !
0  0 
Avatar de Goten
Membre chevronné https://www.developpez.com
Le 01/04/2010 à 22:22
Ah cool ça . On a jusqu'à quand? (ouai on sait jamais, en le lisant un truc pourrait me sauter aux yeux)
0  0 
Avatar de Jean-Marc.Bourguet
Expert éminent https://www.developpez.com
Le 02/04/2010 à 9:17
Citation Envoyé par Goten Voir le message
Ah cool ça . On a jusqu'à quand? (ouai on sait jamais, en le lisant un truc pourrait me sauter aux yeux)
Début juillet il me semble. J'ai pas la date précise sous les yeux.
0  0 
Avatar de 3DArchi
Rédacteur https://www.developpez.com
Le 02/04/2010 à 15:45
Salut,
Citation Envoyé par JolyLoic Voir le message
D'ailleurs, si certains ont des commentaires, n'hésitez pas, on transmettra !
Pour l'instant, sans avoir relu le nouveau draft, il y avait le point dont on avait discuté sur comp.std.c++ sur le =default qui n'était pas autorisé (en déclaration) sur les destructeurs (en fait sur les 4 fcn spéciales) non triviaux :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct base
{
  virtual ~base()=default; // erreur
};
struct base_ok
{
  virtual ~base_ok();
};
base_ok::~base_ok()=default(); // OK

struct trivial
{
   ~trivial()=default; // OK !!
};
Je ne sais pas si ça été rediscuté, mais perso, je trouve gênant d'avoir des comportements OK et d'autres non, le plus simple étant de pouvoir faire =default indépendamment des cas de trivialité.
Je me reformule car je me rends compte que ce n'est pas très clair, mais j'aurais aimé pouvoir écrire =default dans la classe que le destructeur soit trivial ou non :
Code : Sélectionner tout
1
2
3
4
5
6
7
struct i_have_a_dream
{
virtual ~i_have_a_dream()=default;
explicit i_have_a_dream(i_have_a_dream const&)=default;
private:
i_have_a_dream(i_have_a_dream const&)=default;
};
Aux dernières nouvelles, le code ci-dessus n'était pas possible. Il fallait séparer déclaration et default-definition.
0  0 
Avatar de stardeath
Expert confirmé https://www.developpez.com
Le 17/04/2010 à 9:52
hum j'avais rien à faire donc j'ai commencé la lecture du pdf, un truc m'a choqué :
int main(int argc, char*argv[]){/*...*/}
heu c'est moi ou on se tape encore les char* comme représentant officiel des chaines de caractères?

j'aurai cru que le comité aurait vraiment dépoussiéré la norme, genre mettre ça en main :

int main(int argc, string argv[]){/*...*/}
ou encore mieux :

int main(vector<string> args){/*...*/}
bref rien qu'en ayant lu le coup du main, je sens que c++0x va encore me faire pester quelque peu ><
0  0