void AString::Expand(int newsize)
{
if(newsize == 0) return;
char* newbuffer = new char[newsize];
memset(newbuffer,0,newsize);
if(count > 0){
memcpy(newbuffer, buffer, count);
if(buffer) delete[] buffer;
buffer = newbuffer;
}else{
buffer = newbuffer;
}
count = newsize;
newbuffer = 0;
}
valgrind говорит что в строчке char* newbuffer = new char[newsize]; утекает 1 байт, не понимаю как, в деструкторе delete[] buffer;