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 :

Qu'est ce que c'est que ce charabia


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de trecks
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 91
    Par défaut Qu'est ce que c'est que ce charabia
    Bonjour à tous
    Voila je lis actuellement les tuto de Laurent sur la création d'un moteur 3D
    et je bute sur une partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    template <class T> ILogger& operator <<(const T& ToLog);
    Ca veux dire quoi exactement, il parle de surchage de l'opérateur (template) << mais j'ai du mal a comprendre
    Merci d'avance à tous

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Il n'y a pas le contexte, mais je suppose qu'il s'agit d'une fonction membre.

    C'est donc une fonction membre template, appelée operator<<, qui prend en argument un const T& et qui retourne une référence vers un ILogger&.

    Il se trouve que operator<< est un nom spécial, et qu'en particulier
    a << b
    va appeler a.operator<<(b)
    si a est du type de ta classe.

  3. #3
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 527
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 527
    Par défaut
    L'opérateur << sert à rediriger le contenu de la variable vers un flux soit l'écran en mode texte soit un fichier disque
    Cette classe Logger je suppose est destinée à écrire un fichier de log d'événements.
    Tu peux faire une analogie avec MFC CArchive::OnSerialize ou mieux encore cin ou cout du C++ standard

  4. #4
    Membre confirmé Avatar de trecks
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 91
    Par défaut
    Mais pourquoi utiliser template<class T> ici ?
    Ou alors faut que je revois mes cours la dessus ^^

  5. #5
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Car on veut pouvoir logger différents types : des entiers, des chaînes, ...
    Et utiliser template permet d'écrire une seule fois le code pour une infinité de types (tous les types pour lesquels le code à l'intérieur de la définition de l'opérateur << sera supporté).

  6. #6
    Membre confirmé Avatar de trecks
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 91
    Par défaut
    Ok merci à tous pour vos réponses, vous êtes génial et vive developpez.com ^^

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/08/2012, 14h30
  2. Réponses: 16
    Dernier message: 06/04/2007, 13h36
  3. Un daemon qu'est ce que c'est exactement ?
    Par CedricYhuel dans le forum Administration système
    Réponses: 5
    Dernier message: 01/08/2003, 11h56
  4. Qu'est ce que c'est : Le GateA20 ?
    Par le mage tophinus dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 24/02/2003, 15h09
  5. Qu'est-ce que c'est que Nessus, ça fait quoi exactement ?
    Par PeterT dans le forum Développement
    Réponses: 3
    Dernier message: 24/07/2002, 11h23

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