你好,我是在C++初學者,能有人給我解釋一下這個分配一個陣列到另一個陣列C++
char a[]="Hello";
char b[]=a; // is not legal
然而,
char a[]="Hello";
char* b=a; // is legal
如果陣列不能被複制或分配給另一個數組,爲什麼它有可能作爲參數傳遞,其中通過的值的副本總是在方法中進行
void copy(char[] a){....}
char[] a="Hello";
copy(a);
它是'通過引用' –
關於數組的奇怪規則是從1970年代的C編程繼承而來,沒有人曾經改變過它們,因爲現有代碼太多會破壞。相反,你不希望在C++中使用數組;而是使用'std :: vector',它具有數組在大多數高級語言中執行的行爲。 –
[這個答案](https://stackoverflow.com/questions/4810664/how-do-i-use-arrays-in-c?rq=1)很長,但它非常值得一讀。你的所有問題都可以在其中回答。 – Praetorian