Double pointeur ?

cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007 - 29 juil. 2003 à 22:29
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 - 30 juil. 2003 à 09:47
que signifi le ** dans

CCamera **CameraList;

jai bcp de difficulté avec les pointeurs lol

2 réponses

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
30 juil. 2003 à 09:42
Bonjour,

c'est un pointeur vers un pointeur sur une donnée de type CCamera.
on utilise ce type de pointeur pour alouer dynamiquement un tableau de pointeurs sur des classes ou structures.

CCamera** CameraList;

// Allocation de la liste
CameraList = new (CCamera*)[5];

// Allocation des classes CCamera
for (int i = 0; i < 5; i++)
CameraList[i] = new CCamera();

// Destruction des classes CCamera
for (int i = 0; i < 5; i++)
delete CameraList[i];

// Destruction de la liste
delete [] CameraList;

A+

Fred
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
30 juil. 2003 à 09:47
ou sinon, su tu veux qu'une fonction change la valeur de CameraList, :

fonction(CCamera **CameraList)
{
*CameraList = NewValeurADefinir;
}

ainsi cette fonction change le valeur de coucou dans l'exemple suivant :

CCamera *coucou;
fonction(&coucou);

ainsi coucou est CCamera *
DOnc &coucou est CCamera **

C'est une autre application de pointeur de pointeur !

:-p :-p :-p :shy) :-p :-p :-p :shy) :-p :-p :shy)
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:shy) :-p :shy) :shy) :-p :shy) :shy) :shy) :-p :shy) :-p
:-p :-p :shy) :shy) :-p :-p :-p :shy) :-p :-p :shy)
0
Rejoignez-nous