Alloc dynamique pour un std vector ? [Résolu]

Signaler
Messages postés
9
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
26 juillet 2007
-
Messages postés
9
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
26 juillet 2007
-
Bonjour,
Je croyais que les std vector etaient un moyen de créer
un vecteur dynamiquement, est ce vrai ??
En autre terme y'a t'il un interet à ecrire qqch comme

vector<string*> * toto =new vector<string*>;

pourquoi pas

vector<string*> * toto = 0;

5 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Je comprends pas ce que tu dis : si tu as un vector<string*>, ce sera évidemment a toi d'allouer les objets que tu mets dans ton vector

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
285
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
20 janvier 2013

Salut !

Je suis pas certain de comprendre ta question...

vector<string*> * toto =new vector<string*>;
Cette ligne te créer un pointeur de vecteur contenant des pointeurs de string.
Ce pointeur de vecteur pointe sur une instance d'un vecteur.

vector<string*> * toto = 0;
Cette ligne te créer un pointeur de vecteur contenant des pointeurs de string.
Ce pointeur de vecteur ne point sur rien.

Un vecteur c'est juste une sorte de tableau dont la taille est variable. Pour obtenir ce tableau dynamique on l'a encapsulé dans un objet qu'on a nommé vecteur. Mais si tu n'instancie pas ton vecteur c'est comme si tu n'instanciai pas ton tableau.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Quand tu écris vector<string>, ca te crée dynamiquement un tableau de string (soit à la construction soit au moment de l'ajout), c'est ca l'intérêt (tu ne gères pas toi même l'allocation/libération de mémoire)

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
9
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
26 juillet 2007

Coucou, en fait ce que je voulais dire c'est qu'il me parait un peu bizarre d'allouer dynamiquement la memoire pour un vector de quoi que ce soit.
Quitte à utiliser la STL pourquoi ne pas ecrire
vector<string*>
plutot que de s'embeter à gerer l'alloc desalloc

En gros ou on se fait du string ** ou du vector<string*> mais pas un mix des deux ...
Messages postés
9
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
26 juillet 2007

ok on oublie c'est pas bien grave de toutes les facons