alocation dynamique

alocation dynamique - C++ - Programmation

Marsh Posté le 06-11-2003 à 21:58:33    

slt tlm voila j'ai un code de ce type et j'ai 2 facon de faire ,j'aimerai connaitre la meilleur

Code :
  1. string * m_Valeur;
  2. while (ERROR_NO_MORE_ITEMS!=RegEnumValue(hkey ,bufftemp,indice/*....*/)
  3. {
  4. indice++
  5. m_Valeur = new string [index];
  6. m_Valeur[index-1] = bufftemps;
  7. }


ou alors  

Code :
  1. string * m_Valeur;
  2. while (ERROR_NO_MORE_ITEMS!=RegEnumValue//scan la fonction pour connaitre le nombre de valeur qu'elle retourne
  3. (hkey ,bufftemp,indice/*....*/)
  4. {
  5. indice++;
  6. }
  7. m_Valeur = new string [indice];
  8. for (int i=0;i!=indice;i++)
  9. {
  10. RegEnumValue(hkey ,bufftemp,i/*....*/);
  11. m_Valeur[i-1] = bufftemps;
  12. }


Message édité par carot0 le 06-11-2003 à 22:37:38

---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 06-11-2003 à 21:58:33   

Reply

Marsh Posté le 06-11-2003 à 22:02:55    

oui et ? [:mlc]
tu veux faire quoi au juste ? passer en revue la base de registres ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 06-11-2003 à 22:04:04    

elle est ou l'allocation ? :O
Remboursé :O

Reply

Marsh Posté le 06-11-2003 à 22:05:11    

Harkonnen a écrit :

oui et ? [:mlc]
tu veux faire quoi au juste ? passer en revue la base de registres ?


je parle du passage de l'alocation dynamique pas de la partie registre. en plus j'aurai une question sur cette fonction du registre qui me retourne pas tt a fait ce k'il faut


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 06-11-2003 à 22:05:52    

chrisbk a écrit :

elle est ou l'allocation ? :O
Remboursé :O


y a 2 new ds le code mais je veux bien en rajouter pour faire plais


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 06-11-2003 à 22:11:02    

son clavier s'est bloqué :fouyaya:
 
edit: et il manque la balise de fin [/cpp] :o
edit2: t'aurais pas oublié l'indentation aussi? [:meganne]


Message édité par drasche le 06-11-2003 à 22:11:55

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 06-11-2003 à 22:18:17    

drasche a écrit :

son clavier s'est bloqué :fouyaya:
 
edit: et il manque la balise de fin [/cpp] :o
edit2: t'aurais pas oublié l'indentation aussi? [:meganne]


voila g rajoute les balise ki manque.


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 06-11-2003 à 22:31:25    


Code :
  1. while (ERROR_NO_MORE_ITEMS!=RegEnumValue(hkey ,bufftemp,indice/*....*/)
  2. {
  3. indice++
  4. m_Valeur = new string [index];
  5. m_Valeur[index-1] = bufftemps;
  6. }


La, deja c'est foireux, a chaque iteratoin de la boucle while tu recreer un tableau, et tu perds toutes references au precedents tableau, je ne vois pas comment ca peut marche.
 
Indice et index correspondent a quoi? (j'ai limpression quec'est une erreur de recopie et qu'en faite ca devrait regrouper la meme variable)

Reply

Marsh Posté le 06-11-2003 à 22:32:46    

je ne perd pas la refference car m_valeur est de type string *
et cela n'ecrase pas les valeur deja entré


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 06-11-2003 à 22:36:32    

Tu gardera le pointeur de la derniere allocation que tu a faite mais tu perdra tout ceux des iterations precedentes.  
C'est possible que je ne sois pas bien reveiller mais la j'ai un gros doute qd meme.

Reply

Marsh Posté le 06-11-2003 à 22:36:32   

Reply

Marsh Posté le 06-11-2003 à 22:39:17    

chagarou a écrit :

Tu gardera le pointeur de la derniere allocation que tu a faite mais tu perdra tout ceux des iterations precedentes.  
C'est possible que je ne sois pas bien reveiller mais la j'ai un gros doute qd meme.


nas en fait l'adresse du pointer est fixe il point tjrs la meme zone. et ca marche plutot bien en +


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 06-11-2003 à 22:40:24    

Euh, je peut te dire que ca sent le prog instable ton truc.

Reply

Marsh Posté le 06-11-2003 à 22:48:06    

+1
chaque "new" que tu feras attribueras une nouvelle adresse mémoire au pointeur m_value !
un pointeur est une adresse mémoire avant tout ! si tu modifies cette adresse, rien ne te garantit que la prochaine allocation te renverra une adresse qui contient la même valeur...


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 06-11-2003 à 22:48:45    

chagarou a écrit :

Euh, je peut te dire que ca sent le prog instable ton truc.


je m'en doute c pour ca que j'ai preferé demande.
mais en faite je preffere la 1ere methode mais la fonction de registre me bouffe le dernier caractere apres le 1er appelle et je sais pas comment le resoudre


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed