int a[10];
int b[10];
a = b;
//C++ operatore predefinito di assegnazione
struct test {
int a[10];
};
test a,b;
a = b;
Primo codice non viene compilato, poiché smussiamo assegniamo matrice, ma il secondo fa. L'operatore di assegnazione di classe predefinito non chiama semplicemente l'assegnazione per ogni membro di dati? Perché compila il secondo codice?
L'operatore di assegnazione classe predefinita copierà tutti gli elementi di un array. È come 'std :: array' funziona senza uno fornito dall'utente. – chris
Perché è stata fatta un'eccezione speciale per gli array come membri. –
Perché coinvolgere std :: array? Mi sto perdendo qualcosa? – Frodo