Tableau dynamique
Comme il est nécessaire de déclarer une variable avant de l'utiliser et comme la taille d'un tableau n'est pas forcément connue, on peut contourner cette contrainte en déclarant un pointeur vers un tableau dont on définira la taille ultérieurement.
Cette déclaration est possible avec la commande NEW :
nom_du_pointeur= new type[taille]
Exemple
Dans l'initialisation (header par exemple) :
int *tableau;
int taille;
Dans le code :
cin >> taille;
tableau = new int[taille];
Autre exemple : Placement des données d'un fichier (dont on ne connait pas la taille initialement) dans un tableau
Dans l'entête :
unsigned char *filecontent;
Dans le code :
QFile orgBMPfile("image.bmp"); //on lie un type file à un fichier image
taillefichier=10000; //la taille totale du fichier fait 10000 octets
filecontent = new unsigned char[taillefichier]; //on créé le tableau
orgBMPfile.read((char *)filecontent, taillefichier);// on copie toutes les données dans le tableau
Remarque : (char *) permet ici d'adapter les types à la fonction read
Remarque : Une autre méthode consiste à utiliser les vecteurs