[C++] Allocation dynamique
arthix
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
c+ -
c+ -
Salut !
Je travaille en ce moment sur un logiciel qui permettra à terme d'effectuer des traitements sur un signal ; celui ci est pour l'instant modélisé sous la forme d'un buffer en mémoire, dont la classe a déjà été créée par quelqu'un d'autre.
Pour certains traitements simple, comme la répétition puisqu'il faut prendre un exemple, il est aisé de connaître la taille que fera le buffer de sortie (c'est (Nbre2Repetitions+1)xTailleBufferEntrée). Par contre, pour d'autres, il m'est impossible de connaître cette taille avant d'avoir effectué tous les calculs sur le buffer d'entrée.
Ayant quelques (très) minces connaissances en C++/C, je me demande comment allouer un buffer de taille non fixe à sa création.
Note importante : je ne peux pas créer un buffer de taille 10000 par exemple, taille que je pourrais estimer être maximale par défaut, car mes signaux peuvent au maximum atteindre un longueur 2^42 !!!!
Avis aux idées, même folles, je suis preneur !!!
Merci & A+
Je travaille en ce moment sur un logiciel qui permettra à terme d'effectuer des traitements sur un signal ; celui ci est pour l'instant modélisé sous la forme d'un buffer en mémoire, dont la classe a déjà été créée par quelqu'un d'autre.
Pour certains traitements simple, comme la répétition puisqu'il faut prendre un exemple, il est aisé de connaître la taille que fera le buffer de sortie (c'est (Nbre2Repetitions+1)xTailleBufferEntrée). Par contre, pour d'autres, il m'est impossible de connaître cette taille avant d'avoir effectué tous les calculs sur le buffer d'entrée.
Ayant quelques (très) minces connaissances en C++/C, je me demande comment allouer un buffer de taille non fixe à sa création.
Note importante : je ne peux pas créer un buffer de taille 10000 par exemple, taille que je pourrais estimer être maximale par défaut, car mes signaux peuvent au maximum atteindre un longueur 2^42 !!!!
Avis aux idées, même folles, je suis preneur !!!
Merci & A+
A voir également:
- Allocation dynamique d'une matrice en c
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Liste déroulante dynamique excel - Guide
- Liste déroulante dynamique en cascade excel - Guide
- Vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
4 réponses
regarde sur CCM dans la section C++, l'allocation dynamique en C++, c'est new pour allouer, delete pour libérer la mémoire.
@++
Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
@++
Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ? :-D
Salut !
La solution que j'ai adoptée :
et pour désallouer :
C'est correct ?
Merci A+
La solution que j'ai adoptée :
int **Matrice;
Matrice = new int*[m_FacteurEtalement];
for(i=0;i<m_FacteurEtalement;i++) {
Matrice[i] = new int[m_FacteurEtalement];
}
et pour désallouer :
for(i=0;i<m_TailleCode;i++) {
delete [] Matrice[i];
}
delete [] Matrice;
C'est correct ?
Merci A+
Salut Arthix,
voila la solution a ton probleme
int **Matrice;
Matrice = new int*[m_FacteurEtalement];
for(i=0;i<m_FacteurEtalement;i++) {
Matrice[i] = new int[m_FacteurEtalement];
}
et pour désallouer :
for(i=0;i<m_FacteurEtalement;i++) // et non for(i=0;i<m_TailleCode;i++)
{
delete Matrice[i]; // et non delete [] Matrice[i];
}
delete [] Matrice;
dit moi apres si il ya un truc que tu comprends pas.
Salutations,
Patrick kamdem
voila la solution a ton probleme
int **Matrice;
Matrice = new int*[m_FacteurEtalement];
for(i=0;i<m_FacteurEtalement;i++) {
Matrice[i] = new int[m_FacteurEtalement];
}
et pour désallouer :
for(i=0;i<m_FacteurEtalement;i++) // et non for(i=0;i<m_TailleCode;i++)
{
delete Matrice[i]; // et non delete [] Matrice[i];
}
delete [] Matrice;
dit moi apres si il ya un truc que tu comprends pas.
Salutations,
Patrick kamdem
bonjour je viens d 'ellaborer un ptt programme qui simule le mvt d'1 ensble de prticules sur un reseau carre.je repere la position (x,y) de mon particule "p" par les indices i et j du site site[i][j]{x=i et y=j}
j'ai besoin d'utiliser des sommation et des produits avec des matrices geantes ([10000000]X[10000000])
svp comment realiser cette tache en utilisant catch et delete sous dev c++.
merci
j'ai besoin d'utiliser des sommation et des produits avec des matrices geantes ([10000000]X[10000000])
svp comment realiser cette tache en utilisant catch et delete sous dev c++.
merci
utile la fonction malloc()
Taille à allouer malloc(buffer)
pour libérer l'espace c'est la fonction free()
@++
Taille à allouer malloc(buffer)
pour libérer l'espace c'est la fonction free()
@++