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 :

Vous utilisez le goto dans certains cas ?


Sujet :

C++

  1. #21
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par Luc Hermitte
    OK. Pour définir une machine à état. Regrouper les erreurs en C. Pourquoi pas.
    Et encore, c'était juste pour dire que chacun voit midi à sa porte...

    On peut bien sur arguer qu'un code sera, dans certaines condition plus rapide qu'un autre, que les tests et les boucles ne sont que tes "goto" déguisés (dans le sens ou ils seront tous traduit en sauts, conditionnels ou non)... du moins, c'est le point de vue de linus, semble-t-il, mais je reste d'avis que son point de vue ne s'applique *éventuellement* que dans des cas bien particuliers...
    Si dans le bouquin il y a des "p = new ... ; if(p)" et des goto. L'auteur ne connait pas le C++. Sur le plan qualité de code C++ je serai plus que méfiant à l'égard de ce bouquin. Si maintenant c'est l'OP a traduit des malloc en new. OK. Soit. C'est une façon de faire ...en C.
    On est bien tous d'accord là dessus...

    Ceci dit, et bien que ce soit un autre débat, Bjarne Strouptroup lui-meme, dans la quatrième édition de son bouquin "le langage C" (version francaise) propose des boucles infinies sous la forme
    A moins qu'on ne m'apporte un raisonnement probant pour prouver que cette manière de faire apporte plus d'avantages que d'inconvéniants (utilisations probable de break "dans tous les sens", entre autres) je continurai à préférer les boucles while() et do...while() avec des tests adaptés pour les boucles infinies ... ou pseudo infinies...
    Le problème, ce n'est pas le goto. C'est de faire des bidouilles en C++ qui complexifient le code et qui sont à côté de la plaque -- le comportement par défaut du new post-98 est de lever une exception, et les règles qualité sérieuses poussent vers les abstractions RAII comme les vecteurs.
    Là dessus, nous sommes bien d'accord

    Ne te méprend pas sur mon intervention passée... je ne voulais que présenter un "autre point de vue" soutenu par quelqu'un qui, de prime abord, a plus réfléchi à toutes les implications que moi, sans juger le moins du monde de la qualité (bonne ou mauvaise) de son raisonnement

    Entre temps, pour ceux que cela peut intéresser, j'ai remis la main sur l'archive de la liste de diffusion en question: on la trouve =>ICI<=
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  2. #22
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Luc Hermitte
    A ce sujet, je suis tombé cette semaine sur un article de Knuth (?) qui faisait le point sur les erreurs techniques de notre profession. Il y targuait le switch de rejeton du goto, et racontait que cela ne valait pas mieux.
    Tu parles de http://www.cs.inf.ethz.ch/~wirth/Art...s_origFig.pdf? C'est de Wirth. Le switch dont il parlait était celui d'Algol 60 qui ne ressemble en rien au switch de C mais plutôt à l'assigned goto de Fortran. Il propose en remplacement le case de Pascal et indique que le switch de C n'est pas aussi bien (il le traite de batard entre les deux solutions -- ce que je trouve sévère -- le pb c'est la nécessité de break)

  3. #23
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 309
    Par défaut
    Citation Envoyé par koala01
    Ne te méprend pas sur mon intervention passée... je ne voulais que présenter un "autre point de vue" soutenu par quelqu'un qui, ...
    Je n'étais pas sûr que mes propos avaient été bie compris en fait

    Citation Envoyé par Jean-Marc
    Oui. C'est ça. Au temps pour moi. Je trouvais aussi sévère son jugement au sujet du switch C juste à cause de sa dependance au break.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #24
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Luc Hermitte
    Oui. C'est ça. Au temps pour moi. Je trouvais aussi sévère son jugement au sujet du switch C juste à cause de sa dependance au break.
    Je crois que le problème tel que perçu par Wirth est que la nécessité de break, comme d'autres choses d'ailleurs dont le Duff's device, est une indication que le concept modélisé est plus proche du switch d'Algol que du case de Pascal. Mais d'après ce que je vois, l'usage fait est plus proche du case de Pascal que du switch d'Algol.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Pb de son dans certains cas
    Par loki dans le forum Matériel
    Réponses: 1
    Dernier message: 30/01/2007, 12h39
  2. Empecher la validation dans certains cas ?
    Par elitost dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/09/2006, 14h03
  3. Passer la validation Javascript dans certains cas
    Par tkino dans le forum Struts 1
    Réponses: 2
    Dernier message: 31/07/2006, 16h37
  4. [JOINTURES] interêt dans certain cas
    Par nicotine002 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/06/2006, 18h22
  5. [POO] Modèle objet: this inutilisable dans certains cas?
    Par vlord dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 13/08/2005, 11h41

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