[C++] Funktionszugriffe

Hey random,

Ja hatte ich. Ich nutze z.b. 8 integer Arrays, die als pointer vorliegen. Der speicher ist mit new zugewiesen, dennoch sind diese Arrays leer, wenn die Execute() mit return true ihren letzten Befehl ausgeführt hat.
Ich brauche diese Arrays aber noch im Nachhinein. Ich hab sie daher vor Ende der Execute in Globale Pointer gespeichert und nachträglich - bevor ich sie brauche - wieder in die alten Variablen eingespeist.

[Edit] Da wir aber grade von Speicherplatz reden:
Was ist der Unterschied/Vor- bzw Nachteil zwischen diesen beiden Arten der Deklaration / Definition ?
class 1 deklariert nur eine double Variable "number" ohne Belegung, class2 fordert explizit mit new neuen Speicher für "number" an, wenn ich das richtig sehe...

Sollte man jetzt lieber 1 oder 2 machen ? Und warum ?

Code:
class1{
     void function(void){
          double number;
          //Anweisungen...
  }
};

class2{
     void function(void){
          double *number = new double;
     }
};

Gruß
WiZdooM
 
Zuletzt bearbeitet:
Gibt Geschwindigkeitsunterschiede ... Heap ist langsamer ... 2. musst du löschen, es sei denn du arbeitest mit smart-pointer und dann haste wieder Speicheroverhead ;)

Variablen am Funktionsanfang ist aber sowieso nicht so gut ^^ Am besten erst wo man se braucht.

Heap ist von der >Größe her nicht so eingeschränkt wie Stack ... tjo das is so der Unterscheid ;)
 
Zurück