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

Contribuez C++ Discussion :

Quel livre pour bien commencer ?


Sujet :

Contribuez C++

  1. #41
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Bon courage ^^. Le livre est très compréhensible. C'est avec lui que j'ai compris la surcharge des opérateurs .

  2. #42
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 19
    Par défaut
    En tout cas je m'amuse beacoup avec, c'est déjà ça

  3. #43
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Par défaut
    Oui je trouve qu'il y a deja suffisement de couleures.

    Les encadrés violets et les mots clefs en rouge sont tres bien de ce que je me souviens.

    Ensuite certain diront "oui mais il ne parle pas de pre incrementeur plus optimisé que le post ...." mais a ce niveau tu t'en fou (et même a tous les niveaux quasiment ;-) )

    bon amusement

  4. #44
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Citation Envoyé par ash.ice.loky
    Ensuite certain diront "oui mais il ne parle pas de pre incrementeur plus optimisé que le post ...." mais a ce niveau tu t'en fou (et même a tous les niveaux quasiment ;-) )
    Dit moi en plus

  5. #45
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 297
    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 297
    Par défaut
    Un bouquin pédagogique n'a pas à être une référence qui parle de tout.
    Et cvant d'en arriver là, il y a plus important : const-correctness, exception-safety, LSP vs réutilisation, distinction des sémantiques de valeur et d'entité, ...
    Tiens. Je viens de voir qu'AC++ introduisait ++v comme l'opération d'incrémentation. Donc, dans les premiers chapitres.
    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...

  6. #46
    Membre émérite
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Par défaut
    Citation Envoyé par Luc Hermitte
    Un bouquin pédagogique n'a pas à être une référence qui parle de tout.
    Et cvant d'en arriver là, il y a plus important : const-correctness, exception-safety, LSP vs réutilisation, distinction des sémantiques de valeur et d'entité, ...
    Tiens. Je viens de voir qu'AC++ introduisait ++v comme l'opération d'incrémentation. Donc, dans les premiers chapitres.
    En effet 2 philosophies, 2 pédagogies.

    Je penses qu'il ne faut pas tout mélanger et s'encombrer de "détails" n'aide pas vraiment à la compréhension.

  7. #47
    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 ash.ice.loky
    En effet 2 philosophies, 2 pédagogies.

    Je penses qu'il ne faut pas tout mélanger et s'encombrer de "détails" n'aide pas vraiment à la compréhension.
    Ce n'est pas s'encombrer ou pas de détails, c'est savoir comment on organise l'apprentissage de l'ensemble. L'inconvénient de l'approche C(anal) historique, c'est la nécessité de mélanger les niveaux d'abstractions très tôt, ou d'avoir des incantations magiques. Les étudiants ont déjà que trop tendance à utiliser des incantations magiques, et le mélange des niveaux d'abstraction non encore maîtrisés n'aide en rien la compréhension.

  8. #48
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 19
    Par défaut
    Génial !!!

    Ahhh il y a peu de sujets qui m'aient captivés autant . Vraiment quel language fabuleux le C++, et dire que j'en connais encore presque rien :-D

  9. #49
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 297
    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 297
    Par défaut
    Certes "const" c'est à peu près autant un détail que ++i ou i++.
    En revanche, LSP vs réutilisation, et sémantiques, sont des aspects de design qu'il est important de sentir, à défaut de parfaitement comprendre dans un premier temps. Ce sont des aspects qui vont décider de la modélisation de la solution au problème. Aspects qui vont au final se traduire en élements de syntaxe qui relèvent assez du détail.
    La mécompréhension de ces éléments conduit aux erreurs de newb' telles que : - des héritages bancaux, - des opérateurs surchargés n'importe comment, - une sémantique de recopie complètement à l'ouest, ...

    Bref des éléments importants qui ne sont pas des détails. Alors qu'apprendre d'autres langages peut se résumer à apprendre une syntaxe (et les bibliothèques standard qui vont avec), la compréhension du C++ nécessite la compréhension d'éléments qui vont bien au delà de la syntaxe.

    NB: AC++ a une approche assez pragmatique : ils sont bien moins formels que moi qui résume ses concepts en deux mots. P.ex. le truc est que les opérateurs et les sémantiques de copies sont présentées dans le chapitre qui parle des classes valeurs.

    PS: désolé pour cette réponse baclée
    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...

  10. #50
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    - des opérateurs surchargés n'importe comment
    Hum... euh... on m'appelle ? ! Tiens, voilà de quoi te faire bondir au plafond je pense ^^ Ma classe vector (enfin les surcharges) !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    CVector & operator= (const CVector & v); // Opérateur =
          CVector operator+ (const CVector & v); // Opérateur +
          CVector operator- (const CVector & v); // Opérateur -
          CVector operator* (const CVector & v); // Opérateur *
          CVector operator/ (const CVector & v); // Opérateur /
          CVector operator+ (float f); // Opérateur + n°2
          CVector operator- (float f); // Opérateur - n°2
          CVector operator* (float f); // Opérateur * n°2
          CVector operator/ (float f); // Opérateur / n°2
          void operator+= (const CVector & v); // Opérateur +=
          void operator-= (const CVector & v); // Opérateur -=
          void operator*= (const CVector & v); // Opérateur *=
          void operator/= (const CVector & v); // Opérateur /=
          void operator+= (float f); // Opérateur += n°2
          void operator-= (float f); // Opérateur -= n°2
          void operator*= (float f); // Opérateur *= n°2
          void operator/= (float f); // Opérateur /= n°2
          bool operator== (const CVector & v); // Opérateur ==
          bool operator!= (const CVector & v) {return !(*this == v);} // Opérateur !=
    Pas tapay, pas tapay ^^

  11. #51
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 297
    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 297
    Par défaut
    Citation Envoyé par Bakura
    Hum... euh... on m'appelle ? ! Tiens, voilà de quoi te faire bondir au plafond je pense ^^ Ma classe vector (enfin les surcharges)!
    Ca va. Pour un vecteur, cela a du sens.
    Il reste des détails à corriger, mais rien de grave ici.
    (-> const-correctness, symétrie des opérations)
    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...

  12. #52
    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 : 51
    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
    Par défaut
    Quoique l'opérateur *= ou /= prenant un vecteur en paramètre n'est pas hyper catholique... Je suppose qu'il s'agit d'opération membre à membre, mais pour ce genre de chose non classique mathématiquement parlant, je préfère une autre notation.

    Ce que j'aime peu aussi, c'est que la taille des vecteurs n'est pas définie, et la sémentique en cas de taille différente n'apparaît pas clairement.

    A part ça, et en plus des remarques de Luc, je ne suis pas gêné plus que ça.
    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.

  13. #53
    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 JolyLoic
    Quoique l'opérateur *= ou /= prenant un vecteur en paramètre n'est pas hyper catholique... Je suppose qu'il s'agit d'opération membre à membre, mais pour ce genre de chose non classique mathématiquement parlant, je préfère une autre notation.
    C'est relativement classique. Cet usage remonte au moins à APL (Iverson, 1962), ça commence à être difficile de faire plus vieux en matière d'usage pour des langages de programmations. C'est aussi la sémantique des jeux d'instructions vectorielles, du STAR 100 à SSE.

    Ce que j'aime peu aussi, c'est que la taille des vecteurs n'est pas définie, et la sémentique en cas de taille différente n'apparaît pas clairement.
    On manque d'information pour savoir ce qu'il y a en dessous. C'est peut-être une interface légère vers SSE.

    La chose que j'ai remarquée, c'est l'utilisation de float pour un paramètre isolé. Sauf bonnes raisons (et celle que je viens de citer en est une), il vaut mieux utiliser des doubles pour faire les calculs en flottant.

  14. #54
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Par défaut
    Ok pour les double ^^... Sinon pour les const c'est vrai que j'ai du mal. Je pourrais déclarer les surcharges const pour != et == non ?

  15. #55
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    En effet.
    Et si tu as des accesseurs ou une surcharge de l'opérateur [], du dois avoir également une version const (et selon les cas, avoir ou non une version non-const).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. Quel livre pour bien débuter sur Oracle
    Par nurofen dans le forum Livres
    Réponses: 4
    Dernier message: 20/12/2012, 16h59
  2. quel outil de développement pour bien commencer
    Par Francky44003 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 14/10/2010, 22h33
  3. Quel livre pour commencer avec Zend Framework ?
    Par mrjay42 dans le forum Livres
    Réponses: 2
    Dernier message: 16/11/2009, 10h32
  4. Quel livre pour bien commencer ?
    Par Geekolin dans le forum C++
    Réponses: 54
    Dernier message: 19/09/2006, 13h31
  5. [CR] Quel livre pour commencer Crystal en FR ?
    Par AYITE dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/01/2005, 16h39

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