------------------------------- Réponse au message : -------------------------------
En C++, seules les fonctions new et delete sont disponibles. Il n'est pas possible de redimensionner directement un tableau. En C, cela existe avec la fonction realloc.
Pour utiliser new et delete - sans boucle pour recopier les éléments, structures - il faut utiliser memcpy.
Voici un petit exemple :
#include <iostream> using namespace std; void main() { int n; int *i; i = new int[5]; for(n=1;n<=5;n++) { i[n-1]=n; } for(n=1;n<=5;n++) { cout << i[n-1] << " "; } cout << endl << endl; int *j; j = new int[10]; memcpy(j,i,5*sizeof(int)); for(n=6;n<=10;n++) { j[n-1]=n; } for(n=1;n<=10;n++) { cout << j[n-1] << " "; } cout << endl; delete [] i; delete [] j; }
------------------------------- Réponse au message : Attention malloc free sont des fonctions C tandis que new et delete c'est du C++ -------------------------------
Je ne sais pas s'il existe une tel fonction en c++ j'ai deja entendu parler de realloc et de malloc mais je nesais pas comment ca marche Sinon tu peux contourner le probleme: int *tab; tab = new int[10];
//tes instructions et notament l'initialisation du tableau et les affectation
//dq tu veux redimenssioner int *tmp; tmp=tab; tab = new int [nouvelle valeur]; for(int i = 0;i<10;i++) { tab[i]=tmp[i]; } delete[] tmp;
------------------------------- Réponse au message : -------------------------------
Bonjour, j'aimerais savoir s'il existe une fonction en C++ pour redimensionner un tableau dynamiquement. Au même titre que REDIM en VB. Merci
|