Tags:
c++
visual-basic
hvis man allokere new i funktioner i en klasse. slettes disse så når man forlader selve funktionen hvor de er "lavet" eller når selve objektet nedlægges???
svar venligst hurtigt!!!
3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Når du opretter et objekt med new bliver det først nedlagt, når du frigiver det med delete. Du skal altså selv frigive objektet, når det ikke længere bruges. Det samme gælder for new[] og delete[].
Ivan Johansen
Kom lige til at læse dit sp igen. Svaret er nej.
*** Livet er smukt ***
0
som "Ivan Johansen" siger står du selv for at slette objekter oprettet med new eller andre alokerings metoder. Det er af god praksis at slette sine dynamisk oprettet objejeter i destropten (~noget()), herved mener jeg den metode der kaldes når objekteret nedlægges.
f.eks.
class noget{
public:
int *ptr;
void noget()
{
ptr=new int(2);
}
~noget() //kaldes når objektet nedlægges
{
delete [] ptr;
}
};
Håber syntaxen passer, jeg har ikke lige nogen c++ på denne computer....