I campi omessi dall'inizializzazione designata di C++ 20 sono garantiti per essere inizializzati a zero?

I campi omessi dall'inizializzazione designata di C++ 20 sono garantiti per essere inizializzati a zero?

In questo caso sì. La regola è (da [dcl.init]/5):

In questo caso p non è inizializzato in modo esplicito. Non ha un inizializzatore di membri predefinito, quindi passiamo al secondo punto elenco. Non è un riferimento, quindi è inizializzato dalla copia da {} . Per un void* , questa è l'inizializzazione zero.