Gast
#2167622
Hallo,
ich hab mal eine Frage bezüglich pointer.
Folgendes:
void foo()
{
array_size = ...; // größe wird aus einer Datenbank ermittelt
int[array_size]* x;
x[0] = new int;
x[1] = new int;
x[2] = new int;
...
..
x[0] = ...;
return;
}
Wenn ich die Funktion verlasse möchte ich nicht das x zerstört wird. Was
ich ja damit erreiche, dass ich kein delete [0], x[1], ..., mache.
Wenn ich die Funktion allerdings noch einmal aufrufe, dann möchte ich
das der Speicher wieder freigegeben wird und neuer Speicher reserviert
wird, da ich ja sonst bei ein paar millionen aufrufen ziemlich viel
Speicher reservieren würde.
Wie kann ich dies am besten realisieren?
eventuell so:
int array_size = 0; // global speichern
{
for (n=0; n<=0;n++)
delete x[n];
array_size = ...; // größe wird aus einer Datenbank ermittelt
int[array_size]* x;
x[0] = new int;
x[1] = new int;
x[2] = new int;
...
..
x[0] = ...;
return;
Gruß
matzunami