Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

07.06.2004, 17:24

Variablen in Klassen

Hallo,

mal angenommen ich habe eine Klasse und hab dann irgendwie um die etwa 100 Instanzen davon.

Wenn ich eine Variable, die ich dann nur in einer Methode brauche,
zum Beispiel

Quellcode

1
int ABC nur in Methode FGH


hab, sollte ich dann die trotzdem noch in der Klassendeklararion:

Quellcode

1
2
3
4
class XYZ
{
    int ABC;
};


haben oder besser in die Methode am Anfang packen

Quellcode

1
2
3
4
5
void XYZ::Funktion1()
{
       int ABC;
      ... usw.
}


um Speicherplatz zu sparen oder spart das nichts?

MfG und THX

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

2

07.06.2004, 17:28

bei der 2 version wird die variable nur im heap angelegt, spart also speicher.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

07.06.2004, 18:25

2. version.

die instanz liegt dann meiner meinung nach aber auf dem stack.

4

07.06.2004, 21:33

Sie liegt auf dem Stack.

Naje...kommt darauf an. Soll die Variable einen Wert dauerhaft speichern und ist dieser Wert von Instanz zu Instanz unterschiedlich, musst du Version 1 nehmen.

Ist der Wert bei jeder Instanz immer gleich kannst du sie als static Variable in der Methode deklarieren.

Wenn die Variable nur einen Wert speichert der nicht erhalten bleiben soll reicht es wenn du sie als Lokale Variable in der Methode Definierst.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige