Alloc dyna de tablo d objet

xboxut Messages postés 172 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 27 novembre 2009 - 28 avril 2004 à 16:20
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 29 avril 2004 à 19:46
salut je cherche a savoir comment on cree un tableau d objet en dyna.
actuellement j utilise:
objet *array[3];
array[1]=new objet("blabla",variable);
etc...

est ce que cette solution est bonne ou est ce que j ecrase des truc en memoire?
comment cree un tableau d objet en dyna?

4 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
28 avril 2004 à 22:17
c'est bien ça.
object* array[3];
aray[0] = new object();
array[1] = new object();
array[2]= new object();

pour détruire les object :
delete array[0];
delete array[1];
delete array[2];

ceci est un tableau static (taille fixe) d'object créés dynamiquement

tu peux aussi créer un tableau dynamique:
object** array = new object*[taille];
array[0] = new object();
...
array[taille-1] = new object();

destruction :
delete array[0];
...
delete array[taille-1];
delete[] array;
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
29 avril 2004 à 08:31
sinon si tu veux cree un simple tableau dynamique d'objets statique en controlant l'appel du constructeur, tu peux faire

int n=20;
Foo *foo;

// allocation sans appel du constructeur
foo=(Foo *)new char[n*sizeof(Foo)];

for(int i=0;i<n;i++)
{
foo[i]=Foo(...); // le constructeur que tu ve
}

...
delete[] foo;
0
xboxut Messages postés 172 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 27 novembre 2009 1
29 avril 2004 à 10:27
ok merci beaucoup maintenant je comprend mieux maintenant.
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
29 avril 2004 à 19:46
j'aurai du essayer avant de poster, c'est pas propre ce que j'ai fait (probleme au niveau de la construction)

quoi qu'il en soit le but est de faire comme ils font dans la classe carray
0
Rejoignez-nous