002
22.08.2003, 18:34 Uhr
Uwe
C/C++ Master (Administrator)
|
Hallo, Beim ersten handelt es sich um eine Variable deren Datentyp eine Klasse ist. myClass ist eine Instanz der Klasse CMyClass. Über die Variable erhälst Du Zugriff auf die Methoden Datenelemente und Attribute der instanzierten Klasse. Nun ist es so, das nicht immer im Voraus absehbar ist, wieviel Speicherbedarf mein Programm hat. Das ist z.b. von Aktionen des Benutzers abhängig. Bsp.: Zeichenprogramm. Ich will alle Informationen über Objekte, welche der User angelegt hat, irgendwie speichern. Kreise, Linien, Anfang- und Endpunkte usw. Woher weiß ich wieviele Speicher für vieviel Objekte ich benötige? Schwer anzuschätzen. Aslo brauche ich eine Möglichkeit Speicher dynamisch zu verwalten. Mint dem Operator new alloziiere ich Speicherplatz für Daten eines bestimmten Datentypes. Der Rückgabewert dieses Operators ist ein Zeiger (Pointer) auf den neue reservierten Speicherbereich. CMyClass *myClass = new CMyClass; könnte auch so geschrieben werten: CMyClass *myClass; myClass = new CMyClass; In Zeile 1 wird Speicherplatz (für eine Adresse) für die Zeigervariable bereitgestellt. In Zeile 2 wird der Speicherbereich alloziiert. Mit delete p wird der Speicherplatz wieder frei gegeben. -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe |