4
Gibt es einen Unterschied zwischen A a
; und A a = A()
? Hier ist A
eine Klasse.Gibt es einen Unterschied zwischen A a; und A a = A()?
Gibt es einen Unterschied zwischen A a
; und A a = A()
? Hier ist A
eine Klasse.Gibt es einen Unterschied zwischen A a; und A a = A()?
Es gibt eine formale Differenz zwischen direkte Initialisierung Syntax
A a;
und Kopie Initialisierung Syntax
A a = A();
, dass diese einen Aufruf der A
Kopie erlaubt oder Konstruktor bewegen, und erfordert, dass es einen barrierefreien Kopierkonstruktor oder Move-Konstruktor gibt.
In der Praxis wird dieser zusätzliche Konstruktoraufruf jedoch weggelassen.
Die zweite ergibt sich auch mit einem Wert-initialisiertes Objekt "a", das abhängig von "A" sein kann oder nicht. – juanchopanza