affecter un pointeur sur un tableau 2D à un pointeur de tableau 1D
Bonjour,
J'ai un pointer sur un tableau en deux dimension Ce tableau contient L linge et C colonne. Je veux affecter son contenu dans un tableau 1D. Pour l'instant je procède comme indiqué ci-dessous.
Code:
1 2 3 4 5 6 7 8 9 10
|
double* tab1D = NULL;
data = new double[L*C];
for (int i = 0; i < L; i++)
{
for (int j = 0; j < C; j++)
{
tab1D[(i*C) + j] tab2D[i][j] ;
}
} |
Ce code marche bien mais je voudrais savoir si c'est possible d'éviter de passer par la double boucle for en affectant directement le pointeur ?
Aussi je veux pouvoir copier dans un tableau 1D de types différents (double, int, short int). Est ce qu'il y 'aurait un moyen de factoriser l'allocation mémoire du tableau et ne faire qu'un cast une fois l'affectation effectuée
Merci