Speicherreservierung mit new



  • ich verstehe den new operator nicht ganz, könnte mir mal bitte jemand erklären wie ich damit in eine variable mehrere werte speichern kann? wenn das überhaupt geht?



  • Mit new kannst du Speicher für ein Objekt reservieren. Da du nur einen Zeiger deklarierst, muss dem System irgendwie gesagt werden, wieviel Speicher benötigt wird, da der Zeiger nur auf den Anfang deiner Datenstruktur zeigt.

    TTyp *tZeiger = new tTyp(...);
    

    New ruft automatisch den Konstruktor der entsprechenden Klasse auf. Der kann dann neuen Speicher für interne Daten reservieren oder Initialisierungswerte setzen.

    Lies einfach mal in der BCB Hilfe dazu.



  • spiritianer,

    spiritianer schrieb:

    ...erklären wie ich damit in eine variable mehrere werte speichern kann? wenn das überhaupt geht?

    dafür ist der new operator nicht vorgesehen. Verwende Container-Klassen wie Arrays, Listen, Vektoren, ....
    Neben dem Klassiker "Array" werden die von der VCL gelieferten Klassen "TList" und "TStringList" häufig verwendet. Und natürlich stellt die STL noch einen Haufen solcher Klassen zur Verfügung.
    In diese Container-Klassen legst Du Objekte ab, die Du z.B. (aber nicht notwendiger Weise) mit new angelegt hast.


Anmelden zum Antworten