Forum: PC-Programmierung Bedeutung - new


von CUSER (Gast)


Lesenswert?

Ich habe eine Klasse mit dem Namen AUTO erstellt.
Jetzt möchte ich in einer anderen Programmdatei ein Objekt anlegen.
Die Klasse AUTO ist in der CPP Datei Fahrzeuge drin.

m_auto = new AUTO();

Was macht diese Ausdruck genau?

Wird dadurch ein Objekt dynamisch erzeugt?

von Stefan B. (stefan) Benutzerseite


Lesenswert?


von Tim (Gast)


Lesenswert?

Nicht nur Objekte , es wird Speicher reserviert (Dynamisch).

new int[10];
geht genauso, es werden 10 int's reserviert. Und ein Zeiger auf das 
erste zurückgegeben. So kann man sich in c++ dynamisch große Arrays 
erstellen.

Bei Klassen werden halt noch constructor, etc. aufgerufen.

von Rolf Magnus (Gast)


Lesenswert?

> Wird dadurch ein Objekt dynamisch erzeugt?

Ja.

von bla (Gast)


Lesenswert?

Der Speicher muß manuell wieder freigegeben werden mit delete.

Falls Du den overhead ertragen kannst ist das
http://www.boost.org/libs/smart_ptr/smart_ptr.htm
natürlich besser...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.