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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Découverte de la nouvelle norme


Sujet :

C++

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 30
    Points : 8
    Points
    8
    Par défaut Découverte de la nouvelle norme
    Bonsoir.

    Pour un projet en c++, je dois étudier la nouvelle norme C++2011.

    En premier lieu, je dois revisiter le chapitre sur l'héritage multiple. Malgré de nombreuses recherches, je n'ai absolument rien trouvé. N'y a t-il eu aucun changement vis à vis de ce sujet ?

    Dans la deuxième partie, il faut choisir une des nouveautés et écrire des morceaux de codes pour tester. Que me conseilleriez vous ? Est ce qu'il y a des sujets plus intéressants que d'autres ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par Ktalyst Voir le message
    Pour un projet en c++, je dois étudier la nouvelle norme C++2011.

    En premier lieu, je dois revisiter le chapitre sur l'héritage multiple. Malgré de nombreuses recherches, je n'ai absolument rien trouvé. N'y a t-il eu aucun changement vis à vis de ce sujet ?
    Il n'y a pas vraiment eu de différences à ce sujet.
    Citation Envoyé par Ktalyst Voir le message

    Dans la deuxième partie, il faut choisir une des nouveautés et écrire des morceaux de codes pour tester. Que me conseilleriez vous ? Est ce qu'il y a des sujets plus intéressants que d'autres ?
    L'intérêt d'un sujet dépend avant tout des personnes. Je connais même des gens passionnés par le nouveau modèle mémoire du langage, si si...

    Déjà, un sujet sur le langage en lui même, ou plutôt sur la bibliothèque standard, ou encore les deux ? Ensuite, et probablement plus important encore, quelle approche utiliser ? S'intéresser aux aspect "language design" ? Décrire une fonctionnalité genre manuel de référence ? S'intéresser à la manière dont une fonctionnalité va impacter la manière d'écrire du C++, ce qu'elle apporte, quelles sont ses limites ?

    La choix de la fonctionnalité idéale à décrire dépendra de la réponse à ces questions (et probablement à d'autres)...

    Intuitivement, les gros sujets qui me semblent les plus bateaux sont la sémantique de déplacement (y compris unique_ptr) et les expressions lambdas. Après, il y en a foultitude. La syntaxe d'initialisation + initializer_list, les threads, les facilités d'écriture autour des fonctions spéciales des classes (=delete, =default...), les variadic templates...
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Bonjour,

    Pour l'héritage multiple, je ne crois pas qu'il y ai eu de changements le concernant spécifiquement.

    Il y a deux catégories de nouveautés :
    -> Celles qui concernent la syntaxe : move-semantic, lambda, variadics, range-based for, delegating constructor, alias template, final/override, delete/default, ...
    -> Celles qui concernent les outils fournient par la bibliothèques standard : pointeurs intelligent, table de hashage, thread, regex, atomic (*).

    Pour le choix de ton sujet, ca dépends de ce que tu recherches :

    move-semantic : Ca a été introduit pour résoudre un problème récurrent (je te laisse chercher les détails), et au final ca apporte son lot de possibilités vraiment nouvelles et aussi de problèmes (pour le comité du moins).

    variadics : C'est un apport important, mais c'est surtout du sucre syntaxique, le gros des techniques qui l'utilisent ne sont que des adaptations de techniques qui utilisaient des TypeList (ou plus complexe, cf MPL). Tu peux présenter de nouvelles facon d'implementer des techniques qui existaient déjà avant, mais pas vraiment de nouvelles techniques.

    lambda : Pour la grande majorité des gens ca ne sera qu'un moyen d'écrire les foncteurs plus rapidement et simplement. C'est "importer" du monde fonctionnel, tu peux trouver énormément d'informations à leur sujet, mais ce n'est pas spécifique au C++. Deux choses sont à noter :
    -> boost::phoenix offrait déjà de quoi en réaliser et l'offre toujours car les lambda du C++ ne sont pas polymorphique
    -> Je ne suis pas certains qu'ils soient implémenté parfaitement que ce soit par VC++ ou gcc (les autres j'ai pas testé).

    Pour les autres nouveautés concernant la syntaxe, c'est bien souvent du sucre syntaxique qui permet de faire les choses de manière plus propre, plus lisible, plus "maléable". Il suffit souvent d'en voir un exemple d'utilisation pour se rendre compte de l'utilité (ca peut quand même en faire un bon sujet )

    Pour celles concernant les outils fournient. Pour la grande majorité il ne s'agit "que" d'une interface et des comportements choisient par le comité pour fournir un concept déjà existant. De plus certains outils sont quasiment identique à ce qu'offrait boost, c'est une bonne chose que ces outils soient standard, mais dans les faits il ne changent fondamentalement la manière de les utiliser. (Pas pour autant que la manière de les utiliser ne puise pas convenir pour un sujet).

    Edit (suite au message de Loic): Tu as aussi des changements/adaptations de définition des concepts introduient dans la norme, c'est pas sans interet, par contre c'est difficile de montrer ces changement avec un code, AMA .

    (*) Il s'agit en général d'éléments qui peuvent être recoder, mais pas nécessairement.

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    La seule chose qui traite d'héritage que j'ai en mémoire, possiblement faux, c'était qu'ils réfléchissaient aux "problèmes" de l'héritage en diamant.
    Sur le fait que pour que ça se passe bien, il faut passer en héritage virtuel dans la classe mère et non au niveau de la classe fille.

    Après je me mélange peut-être les pinceaux, et à priori rien n'a bougé non plus.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par Bousk Voir le message
    La seule chose qui traite d'héritage que j'ai en mémoire, possiblement faux, c'était qu'ils réfléchissaient aux "problèmes" de l'héritage en diamant.
    Je ne me souviens de rien de particulier sur ce sujet.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 30
    Points : 8
    Points
    8
    Par défaut
    Merci pour vos réponses ! J'ai de quoi étudier

    Pour la première partie, je vais envoyer un mail à la responsable du projet pour avoir des détails, sinon je pense que cette partie se finira rapidement.

    Pour la seconde, j'avoue hésiter sur le sujet ! Je vais regarder ça plus précisément grâce à vos réponses ! Il faut que je trouve un sujet où il y a beaucoup à dire et qui me permette d'écrire quelques morceaux de codes intéressants ! (et compréhensibles surtout !)

    Dès que j'ai choisi et avancer un peu, je posterai mes choix !

    Merci encore !

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    En quelques lignes utilesant une structure de la STL, tu peux déjà utiliser le mot-clé auto et les lambda.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/06/2011, 14h12
  2. Réponses: 1
    Dernier message: 31/05/2011, 17h48
  3. nouvelle norme c++
    Par Invité dans le forum Débuter
    Réponses: 2
    Dernier message: 04/04/2011, 22h52
  4. Navigation Timing : la nouvelle norme de mesure des performances des sites Web
    Par Idelways dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 23/03/2011, 11h53
  5. Réponses: 0
    Dernier message: 23/03/2011, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo