Ciao io sono principiante in C++, qualcuno può spiegare a me questoAssegnazione di un array ad un altro array C++
char a[]="Hello";
char b[]=a; // is not legal
mentre,
char a[]="Hello";
char* b=a; // is legal
Se un array non può essere copiato o assegnato ad un altro array , perché è possibile passare come parametro, dove una copia del valore passato viene sempre eseguita nel metodo
void copy(char[] a){....}
char[] a="Hello";
copy(a);
È 'pass by reference' –
Le strane regole sugli array sono ereditate dalla programmazione C degli anni '70 e nessuno le ha mai modificate perché si sarebbe rotto troppo codice esistente. Invece, si scoraggia dall'utilizzare gli array in C++; usa invece 'std :: vector' che ha il comportamento degli array nella maggior parte dei linguaggi di alto livello. –
[Questa risposta] (https://stackoverflow.com/questions/4810664/how-do-i-use-arrays-in-c?rq=1) è piuttosto lunga, ma vale la pena leggerla. Tutte le tue domande hanno una risposta. – Praetorian