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

SL & STL C++ Discussion :

Choix syntaxique pour operator<()


Sujet :

SL & STL C++

  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut Choix syntaxique pour operator<()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct Machin
    {
    ...
    bool operator<(Machin const & r)
    {
    ...
    }
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct Machin
    {
    ...
    friend bool operator<(Machin const & rl,Machin const & rr)
    {
    ...
    }
    };
    Quel est le meilleur choix pour l'écriture de l'operator<() largement utilisé avec la stl ?
    En général j'utilise la 2ème écriture, elle me parait plus lisible. Mais en pratique, après compilation, le résultat est le même.
    Merci.

  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 : 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
    Le résultat n'est pas exactement le même.

    Si tu as une classe Truc convertible en machin, avec la première solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Truc t;
    Machin m;
    m<t; // Marche
    t<m; // Ne marche pas
    Avec la seconde solution, les deux marchent.

    http://cpp.developpez.com/faq/cpp/?p...embre_ou_libre

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Et il y a même une faq pour ça

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 632
    Points : 30 711
    Points
    30 711
    Par défaut
    Et la constance, alors

    Normalement, l'opérateur <() doit être constant s'il est fonction membre, car, en toute logique, il s'engage à ne pas modifier l'objet au départ duquel il est invoqué

    Mais bon, ce n'est qu'un détail

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    Un détail important tout de même. Le compilateur nous le rappellera vite si nécessaire.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 02/09/2009, 19h24
  2. Choix SGBD pour un intranet
    Par Balbuzar dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 03/06/2005, 18h04
  3. [Choix] Aide pour choix de langage s.v.p
    Par Machjaghjolu dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 26/06/2004, 13h26
  4. Choix port pour application client-serveur
    Par Tiaps dans le forum Développement
    Réponses: 7
    Dernier message: 15/03/2004, 10h49
  5. [Choix] SGDB pour Entreprise : coût, efficacité, etc.
    Par grassat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 15/06/2002, 09h52

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