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 :

typedef dans les iterateurs


Sujet :

C++

  1. #1
    Membre confirmé Avatar de Narann
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut typedef dans les iterateurs
    Bonjour a tous,

    Je suis en train de faire mes premiers itérateurs personnalise et tous ceux que je trouve affichent souvent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        typedef MaClass  value_type;
        typedef MaClass& reference;
        typedef MaClass* pointer;
        typedef std::ptrdiff_t difference_type;
    Mais il ne semble pas que ce soit utile.

    Ducoup je me pose la question : Est-ce par souci de rendre le code générique et éviter d’avoir à écrire des itérateurs sans fin. Si c’est le cas, est-ce qu’il y a une convention écrite quelque part qui en parle ? (ou la trouver*?).

    J’ai mis énormément de temps avant de capter comment écrire un itérateur personalisé alors que c’est très simple simplement parce que tout ce que je trouvais était très « complexe » (code template a fond, etc.).

    Merci d'avance pour les informations !

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 760
    Par défaut
    Les membres value_type, reference, etc font partit des prérequis d'un itérateur. Tu peux trouver tous les prérequis sur la doc (https://en.cppreference.com/w/cpp/named_req/Iterator) ainsi que ceux associer à la catégorie d'itérateur (à ce jour il existe 5 catégories).

    Si les prérequis ne sont pas respectés, les fonctions de la stl peuvent ne pas fonctionner correctement (ce qui engendre un bug) ou ne pas compiler.

  3. #3
    Membre confirmé Avatar de Narann
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut
    Merci, en fait ça permet de définir une sorte d’interface qui peut-être utilisée par la STL pour les algo par exemple : https://en.cppreference.com/w/cpp/algorithm

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/11/2010, 11h01
  2. Réponses: 14
    Dernier message: 01/09/2003, 22h46
  3. Editions de colones dans les ListView
    Par GrosChat dans le forum MFC
    Réponses: 7
    Dernier message: 27/03/2003, 10h28
  4. [VB6] [MDI] Menus contextuels dans les filles
    Par Rosec dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/09/2002, 14h00
  5. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 13h51

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