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 :

Différence entre C** tab et vector< vector <C*>>


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut Différence entre C** tab et vector< vector <C*>>
    Bonjour à tous,

    j'ai voulu savoir quelle est la différence entre un tableau de pointeur sur des objets instances d'une classe C ou des ces classes héritées et vecteur des pointeurs sur des objets de la classe C ou de ces classes filles?
    1) C** tab;
    et
    2) vector< vector <C*>>

    Merci d'avance.

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Un vecteur encapsule un tableau et gère lui-même la mémoire.
    Tu n'as donc plus à te préoccuper d'allouer, de réallouer et de désallouer la mémoire, std::vector le fait pour toi.

    Il est conseillé d'utiliser les conteneurs de la stl au lieu de pointeurs nus pour éviter les erreurs.

    Sinon, ton C ** tab sera utilisé comme un tableau à deux dimensions contenant des C, tu ne pourras donc pas utiliser le polymorphisme, il te faudrait alors utiliser un C *** tab.

  3. #3
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut
    merci neckara pour toutes les réponses.

    Donc, je dois utiliser la notion du vecteur puisque je veux utiliser l'héritage et la le polymorphisme. Mais est ce qu'il faut utiliser vector<vector<C*>> ou vector<vector<C>>?

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Il faut que tu utilises un std::vector< std::vector< C *> > pour stocker des C* afin de pouvoir utiliser le polymorphisme.

  5. #5
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut
    Merciiiiiiiiiiiiiii

  6. #6
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut
    J'aime bien comprendre dans ce cas la liaison entre pointeur et polymorphisme.
    Et merci pour m'expliquer les choses.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Le polymorphisme utilise le typage dynamique, qui nécessite un pointeur (ou référence).
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. Différence entre ArrayList et Vector
    Par L'aigle de Carthage dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 22/11/2014, 10h33
  2. Réponses: 7
    Dernier message: 28/04/2009, 17h46
  3. Différence entre Vector et ArrayList
    Par menzlitsh dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 29/03/2009, 14h32
  4. Différence entre tab**, *tab[] et tab[][]
    Par Dud225 dans le forum C
    Réponses: 3
    Dernier message: 10/04/2007, 09h42
  5. Différences entre ArrayList et Vector
    Par lionrouge dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 29/05/2006, 20h12

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