Alloc dynamique pour un std vector ?

Résolu
statquant Messages postés 9 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 26 juillet 2007 - 23 juil. 2007 à 15:31
statquant Messages postés 9 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 26 juillet 2007 - 24 juil. 2007 à 10:25
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

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 juil. 2007 à 19:43
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
3
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 3
23 juil. 2007 à 17:47
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.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 juil. 2007 à 19:23
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
0
statquant Messages postés 9 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 26 juillet 2007
23 juil. 2007 à 19:40
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 ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
statquant Messages postés 9 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 26 juillet 2007
24 juil. 2007 à 10:25
ok on oublie c'est pas bien grave de toutes les facons
0
Rejoignez-nous