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 :

conteneur vecteur contenant des vecteurs de type différents


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut conteneur vecteur contenant des vecteurs de type différents
    bonjour,
    j'ai 2 vecteurs avec des contenus de type différents
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                // conteneur A
                std::vector<float> vector_A;
     
                // conteneur B
                std::vector<char> vector_B;
    peut-on créer un vecteur_AB contenant vector_A et vector_B?
    (à chaque itération de vecteur_AB correspondrait 1 vector_A et 1 vector_B)

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 540
    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 540
    Par défaut
    oui c'est possible mais je pense que c'est mieux d'utiliser std::map ou std::multimap.
    Chercher dans la doc de la STL il y a certainement d'autres conteneurs plus appropriés.

  3. #3
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut
    quelle est la syntaxe avec vector? J'ai pas trouvé d'exemples sur le net
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     std::vector<std::vector<float>, std::vector<char>> vecteur_AB;
    ne fonctionne pas

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,

    Un vector<>, ça permet de stocker un certain nombre de choses d'un type donné.
    Tu veux regrouper un vector<floay> et un vector<char>, ce sont des types biens distincts. Tu ne peux pas les mettre dans un vector<>! Le seul regroupement possible c'est la class ou un std::tuple<>.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    struct VectorA_et_VectorB {
                // conteneur A
                std::vector<float> vector_A;
     
                // conteneur B
                std::vector<char> vector_B;
    };
    Peut-être qu'il faudrait que tu exposes le pourquoi tu veux les regrouper.

  5. #5
    Membre éclairé
    Homme Profil pro
    sans emploi
    Inscrit en
    Février 2014
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 365
    Par défaut
    je veux:
    - qu'à chaque itération corresponde 1 vecteur float et 1 vecteur char
    - qu'à chaque vector_AB[i] corresponde une série de réels vector_A[i] et une série de caractères vector_B[i]

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Tu cherches std::pair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::vector< std::pair<Type1, Type2> > vecteur_AB;
    avec Type1 et Type2 étant std::vector<float> (si j'ai bien compris).
    Pour les accès : vecteur_AB[i].first et vecteur_AB[i].second.
    Tu peux aussi utiliser std::array<Type, 2>, les accès se feront en vecteur_AB[i][0] / vecteur_AB[i][0].

Discussions similaires

  1. Jointure entre 2 tables avec des champs de types différents
    Par qltmi dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/11/2008, 20h58
  2. itération sur des objets de types différents ?
    Par jc63 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/09/2007, 08h19
  3. Assigné des Canvas de type différents.
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 12
    Dernier message: 06/07/2007, 12h14
  4. Réponses: 7
    Dernier message: 13/03/2006, 08h56
  5. stocker des valeurs de type différent
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2005, 09h36

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