È possibile richiamare l'inizializzazione di aggregazione all'interno della mia definizione del ctor predefinito?Delega costruttore C++ 11 con inizializzazione aggregata
GCC si lamenta "errore: i delegati costruttore per sé" con il codice qui sotto:
struct X {
int x, y, z, p, q, r;
X(): x{}, y{}, z{}, p{}, q{}, r{} { } // cumbersome
//X(): X{} { } // the idea is nice but doesn't compile
};
sto usando memset(this, 0, sizeof(*this))
nel corpo ctor al momento.
Se 'X' non deve essere un aggregato stesso, è possibile spostare' x, y, z ... 'in una classe base e aggregare-inizializzare la classe base su un elenco di inizializzazione del membro –
@ PiotrSkotnicki Interessante idea anche se i miei colleghi lo disapprovano se lo faccio in un codice di produzione. – nodakai
memset (questo, 0, sizeof (* this)) sta facendo male alla mia pace interiore ... –