Bonjour,
j'approfondi mais diverses connaissances en c++ et je suis tombé sur un phénomène bien connu et plutôt génant dans une application temps réel.
J'ai réussi à déterminer la partie de code la générant le voici:
struct MyString
{
public:
char* buffer;
MyString()
{
buffer = "";
}
void operator+=(char* buffer2)
{
int lenbuf1 = strlen(buffer);
int lenbuf2 = strlen(buffer2);
int lenTot = lenbuf1 + lenbuf2 + 1;
char* temp = buffer;
buffer = new char[lenTot];
ZeroMemory(buffer,lenTot);
strncpy( buffer,temp ,lenbuf1);
lstrcat(buffer,buffer2);
}
void operator=(char* buffer2)
{
buffer = buffer2;
}
void operator=(MyString buffer2)
{
buffer = buffer2.buffer;
}
};
c'est donc une structure qui est interne à une classe et à priori ce serait l'operateur += qui fuirait.
Si qqn peut m'expliquer à quel moment la fuite peut se produire svp?
Merci d'avance.
p.s: je sais qu'il existe des classes tte faites mais mon but et plutôt dirigé apprentissage.