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 : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

  3. #43
    Membre éprouvé
    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
    Points : 1 156
    Points
    1 156
    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 : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    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 éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    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 279
    Points : 11 015
    Points
    11 015
    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.

  6. #46
    Membre éprouvé
    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
    Points : 1 156
    Points
    1 156
    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 éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 19
    Points : 5
    Points
    5
    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 éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    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 279
    Points : 11 015
    Points
    11 015
    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

  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 : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    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 éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    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 279
    Points : 11 015
    Points
    11 015
    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)

  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 : 50
    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
    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.

  13. #53
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    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 : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    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 sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    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).

+ 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