Float** c/c++

Fermé
mategent - 6 févr. 2011 à 17:36
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 8 févr. 2011 à 21:17
Bonjour,


Je fais mes premiers pas en OpenGl.

J'ai créés un carré, un cube.
J'ai trouvé le code pour créer un hyperbolloide.
Je compile ca marche.

J'ai voulu regarder le code, pour comprendre ce que ca fait.
Mais dans le code je trouve ça :
float** tabDisque1;
tabDisque1 = new float*[resolution];


tabDisque1 est un tableau
resolution est un entier.

Mais à quoi correspondent (pas le mot float mais ce qu'il y a autour)

- float**
- new float*

??
Merci



2 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
Modifié par Pacorabanix le 6/02/2011 à 17:43
c'est une matrice dynamiqe (un tableau en 2 dimensions, plusieurs lignes et colonnes, dynamique car crée lors de l'exécution et non au début du programme à l'aide de new)

les tableaux à deux dimensions sont des tableaux de tableau. (un tableau dont chaque case est lui-même un tableau)

en C++ la manière basique de coder les tableau c'est par pointeur.

le nom d'un tableau, c'est grosso modo (à de très petites subtilités près) un pointeur vers la première case du tableau.

tableau statique :
int montTableau[10];


tableau dynamique :

int *monTableau; // le tableau n'existe pas encore
(....)
monTableau = new int[10]; // un tableau est crée en mémoire, et monTableau pointe dessus.


pour un tableau, on a un pointeur sur un int
après, pour un tableau en 2d (une matrice), c'est le même principe. sauf qu'on a un pointeur sur (un tableau d'int), c'est à dire un pointeur vers ( un pointeur vers un int).

je sais pas si j'ai été clair.

Tu sais ce que sont les pointeurs j'espère ? sinon ça va être dur à comprendre ^^
1