webForumDet fria alternativet

new / delete

2 svar · 144 visningar · startad av oelbal

oelbalMedlem sedan jan. 20013 016 inlägg
#1

Har läst på en del om att allokera minne med new, men är ganska frågande om vid vilka tillfällen det skall användas?

Jag har inte riktigt förstått konceptet med det hela, är det någon som kan förklara lite mer ingående?

FridolfMedlem sedan aug. 2001693 inlägg
#2

En vanlig variabel lagras i minnet så länge programmet håller på och exekverar det kodblock som den deklarerades i. Ett sådant kodblock omges av { och }. Om du tex har en if-sats och sedan ett kodblock som ska utföras om villkoret var uppfyllt kommer en variabel som deklareras inne i det blocket att tas bort ur minnet när raden efter if-satsen ska utföras. Om du nu av någon anledning vill deklarera en variabel som inte försvinner kan du använda new.

Generellt kan man säga att new ska användas så lite som möjligt. Om det är möjligt, försök strukturera om programmet istället så att variabler kan deklareras på ett naturligt sätt. I vissa fall går det inte att undvika new, tex om du vill ha en variabel/datatyp som det ska gå att ändra storleken på efter det att den deklarerats. Det kan handla om någon typ av listklass tex.

oelbalMedlem sedan jan. 20013 016 inlägg
#3

Tack! :)

Genererad på 360 ms · cache AV · v20260730165559-full.f96bc7eb