Probleme au niveau des classes... - C++ - Programmation
Marsh Posté le 24-03-2004 à 16:37:59
1) soit tu mets un delete à chaque point de sorti
2) tu utilises std::vector<BYTE> et hop son constructeur alloue comme il faut et son destructeur fait le ménage quand tu sors de ta fonction : c'est simple, t'as plus rien à faire
Marsh Posté le 24-03-2004 à 17:33:33
dans le fond tu me dit dutiliser une classe pour avoir son destructeur hmmm.. pas bête comme idée
je vais assayer sa
Marsh Posté le 24-03-2004 à 17:34:41
non : je te dis juste qu'en C++ sécurisé, toutes les allocations mémoires sont encapsulées pour éviter les fuites (et notemment quand un exception est levée)
Marsh Posté le 25-03-2004 à 11:45:15
Code :
|
Code :
|
C'est quand meme mieux comme ca non ???
Marsh Posté le 25-03-2004 à 12:06:01
non. pourquoi tu ne fais pas ce que je te dit
Code :
|
le truc c'est qu'un vecteur est alloué de manière contigu. donc sous réserve que tu ne redimensionnes pas ton vecteur &v[0] te donne un pointeur comme si tu manipulé un tableau classique.
Marsh Posté le 25-03-2004 à 12:17:35
pourquoi si peu de monde utilise la STL
C'est quand meme 'achement utile
Marsh Posté le 24-03-2004 à 16:15:50
Parfoit lorsque je crée des fonctions dans mes classes jarrive avec des problemes de logique qui pourait me couter des problèmes de perte de mémoire, comme par exemple :
Dans cette fonction je veux faire un traitement avec absolument une variable dynamique non-membre et, la fonction return 0 si il y a eu un echec..
il y a des variable membre dans la classe que j'utilise dans la fonction qui sont des entier suposon... int m_Var2, m_Var3, m_Var4;
bon maintenant vous pouvez peut-être surment comprendre mon problème... si par exemple la fonction Fct2() retourne une erreur
et bien je termine automatiquement ma fonction mais le problème est que ma variable dynamique est encore ouverte...
Comment dois-je procédé pour regler ce probleme...
mettre sa?
if(!)
{
delete[] DynVar1;
return 0;
}
pour chaque fonction qui me retourne 0 s'il y a une erreur?... je crois pas que sa marche puisque dans la réalité des fois
j'ai beaucoup de fonction a prendre pour faire mon traitement et sa serai de la répétition de code... en-tk je peut
me tromper mais comment je fait ou comment procédé vous dans ce jenre de cas?