C++ Objekt erzeugen

Beitrag #6688322 wurde von einem Moderator gelöscht.
Gast #6688422
Lesenswert?

Zweifler schrieb:
> Variante 1 ist eine Definition (= Deklaration + Initialisierung) während
> Variante 2 eine Deklaration mit Zuweisung ist. Da der Copy-Construktor
> gelöscht wurde, schlägt das in dem Fall fehl.
Nein, beides sind Definitionen und bei beiden findet eine 
Initialisierung statt. Bei 1 mit dem default(, bei 2 mit copy 
Constructor)*.

*vereinfacht
#6690149
Lesenswert?

Zweifler schrieb:
> Variante 1 ist eine Definition (= Deklaration + Initialisierung) während
> Variante 2 eine Deklaration mit Zuweisung ist. Da der Copy-Construktor
> gelöscht wurde, schlägt das in dem Fall fehl.

Eines der ganz wichtigen Dinge in C++ ist des, den Unterschied zwischen 
einer Initialisierung und einer (Kopier-)Zuweisung zu verstehen 
(natürlich neben der Unterscheidung einer Deklaration und Definition, 
s.a. ODR).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren