Le parentesi in new Foo()
specificare Inizializzazione del valore; Ciò significa sostanzialmente che ogni membro è pari a zero inizializzato. Se invece hai detto new Foo
, quindi i membri sarebbero lasciati non inizializzati, come lo sono per la tua variabile automatica.
Sfortunatamente, per iniziare il valore della variabile automatica, non puoi scrivere Foo bar()
, poiché ciò dichiara una funzione. Avrai bisogno
Foo bar{}; // C++11
Foo bar = Foo(); // Historical C++