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

  1. #1
    Expert éminent sénior
    Avatar de Coriolan
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2016
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2016
    Messages : 701
    Points : 51 807
    Points
    51 807
    Par défaut CppCon 2016 : Herb Sutter revisite les règles à suivre pour écrire un code sans fuites dans C++ par défaut
    CppCon 2016 : Herb Sutter revisite les règles à suivre pour écrire un code sans fuites dans C++
    Dans des situations de complexité croissante

    Une gestion sûre de la durée de vie des objets implique d'écrire du code qui, par construction, garantit d’éliminer deux choses :
    • l’usage d'un pointeur nul ou ne pointant pas sur un objet valide (par pointeur, on entend tout ce qui ressemble à des pointeurs, comme les références, les itérateurs, les vues (view) et les intervalles (range)) ;
    • les fuites de mémoire (même dans le pour cent de cas rares de cycles de propriétés ou de structures de données concurrentes sans verrouillage (lock-free)).


    L’année dernière, Herb Sutter, qui est architecte logiciel chez Microsoft et dirige le comité de normalisation ISO C++, s’est penché sur le premier problème, les pointeurs nuls ou invalides, qu’il juge plus difficile et généralement plus sérieux. Durant sa conférence « Writing Good C++14… By Default », il a passé en revue une nouvelle manière d'utiliser des règles d’analyse statique pour détecter l’usage de pointeurs nuls ou invalides en C++. Le travail sur ce sujet a continué tout au long de l'année et des règles formalisées mettant en œuvre cette approche sont en cours d'écriture.

    Cette année, sa présentation se focalise sur le deuxième problème, les fuites de mémoire. Sa présentation commence par présenter un ensemble de règles très simples : 5 minutes suffisent à les apprendre. Cette poignée de règles peut être enseignée sans distinction à des programmeurs de tout niveau et permet d'obtenir, par construction, un code propre et sans fuite de mémoire. Comme il reste 85 minutes de présentation disponibles, il en profite pour explorer une série d’exemples de code, avec laquelle il montre « pourquoi et comment » appliquer ces règles dans des situations de complexité croissante, ces situations ciblant des programmes et programmeurs de plus en plus avancés et "rusés" (ce qui n'est pas toujours un compliment pour un développeur).

    Sutter va répondre à des questions comme : comment peut-on représenter les types Pimpl ? Comment peut-on représenter une arborescence — quels seront les types des pointeurs enfant et pointeurs parents, quand doivent-ils être uniques ou partagés ? Comment devrait-on faire face aux cycles « intra-module » ou « internes », où l'on contrôle tous les objets participant au cycle, par exemple les nœuds d'un graphe ? Que faire pour les cycles « externes », quand on ne connait pas en avance tous les objets qui pourraient être dans le cycle, par exemple quand on combine des bibliothèques écrites par différentes personnes d’une façon qui peut ou non respecter les différentes couches d'une architecture (les fonctions de rappel [callbacks] sont, par exemple, réputées pour ne pas respecter ces couches) ?

    Les réponses se concentrent d'abord sur des cas où les conseils sont connus et reconnus, puis Sutter passe à d’autres approches plus expérimentales afin de tenter de prendre en compte le pourcent de cas pour lesquels unique_ptr, shared_ptr et weak_ptr ne répondent pas totalement aux problèmes.


    Source : YouTube

    Et vous ?

    Qu'en pensez-vous ?

    Voir aussi :

    La rubrique C++ : forum C++, cours et tutoriels C++, FAQ C++
    CppCon 2016 : Bjarne Stroustrup parle de l'évolution de C++ et s'intéresse à son passé, à son présent mais aussi à son futur
    CppCon 2016 : Persuader les programmeurs de C de migrer vers C++, par Dan Saks
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : novembre 2011
    Messages : 4
    Points : 11
    Points
    11
    Par défaut gcpp: Deferred and unordered destruction
    Conférence liée à ce projet:
    https://github.com/hsutter/gcpp

Discussions similaires

  1. 12 règles à respecter pour écrire un code JavaScript professionnel
    Par Victor Vincent dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 27/11/2016, 11h32
  2. Réponses: 2
    Dernier message: 15/11/2008, 14h28
  3. Réponses: 6
    Dernier message: 15/01/2008, 19h51
  4. Les étapes à suivre pour la réalisation d'un OCR ?
    Par nonosa dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 29/05/2007, 17h32

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