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

Langage C++ Discussion :

Acces a un element d'un vecteur de arrays


Sujet :

Langage C++

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Points : 43
    Points
    43
    Par défaut Acces a un element d'un vecteur de arrays
    Bonjour!

    Ma structure de donnees est un vecteur d'arrays (=tableaux fixes) defini comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef struct _matrix2d{
        double values[5][6];
    } matrix2d;
     
    typedef vector< matrix2d > ListMat;
    Apres avoir rempli le tableau, je souhaiterais acceder a l'element (2,3,2) de cette liste, mais le code suivant ne semble pas marcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ListMat list_mat;
    double elem = list_mat[2][3][2];
    Comment fait-on pour acceder a un element d'un vecteur d'arrays?

    Merci d'avance!!

  2. #2
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Faut que tu surcharges l'opérateur [] pour ta structure, parce que le compilo sait pas trop utiliser [] sur un matrix2D, ou alors (en relation avec le code que tu donnes ):

    double elem = list_mat[2].values[3][2];
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Merci, ca fonctionne avec ce code
    Par contre, comment fait-on pour surcharger l'operateur d'une structure? La surcharge ne s'applique pas qu'aux classes? (Je debute en C++)

    Merci encore!

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par circe Voir le message
    Merci, ca fonctionne avec ce code
    Par contre, comment fait-on pour surcharger l'operateur d'une structure? La surcharge ne s'applique pas qu'aux classes? (Je debute en C++)

    Merci encore!
    Salut,
    Enlèves le typedef devant ta structure.
    Ensuite : F.A.Q. : Quelle est la différence entre class et struct ?
    D'où la réponse : si tu sais faire avec une classe, tu sais faire avec une structure... puisque c'est pareil

Discussions similaires

  1. Acces a des elements d'une List
    Par Seth77 dans le forum C#
    Réponses: 9
    Dernier message: 01/02/2007, 10h05
  2. Probleme de modif d'un element d'un vecteur
    Par kikignou dans le forum Langage
    Réponses: 7
    Dernier message: 20/11/2006, 17h20
  3. supprimer un element d'un vecteur
    Par watcha2020 dans le forum C++
    Réponses: 1
    Dernier message: 13/02/2006, 22h44
  4. [Collections] classer les elements d'un vecteur
    Par smariteau dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 31/01/2006, 12h41
  5. structure de donnee et acces rapide à un element
    Par romeo9423 dans le forum C++
    Réponses: 2
    Dernier message: 01/09/2005, 08h35

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