我不知道爲什麼它是不斷變化的第三個星座爲w,這是非常奇怪的符號(我知道爲什麼它是第三個,但我不知道它是如何工作)。C++怪異功能
using namespace std;
char napis[] = "ALICE";
char& which(int n){
return napis[n];
}
int main(){
which(2) = 'w';
cout << napis << endl;
return 0;
}
我不知道爲什麼它是不斷變化的第三個星座爲w,這是非常奇怪的符號(我知道爲什麼它是第三個,但我不知道它是如何工作)。C++怪異功能
using namespace std;
char napis[] = "ALICE";
char& which(int n){
return napis[n];
}
int main(){
which(2) = 'w';
cout << napis << endl;
return 0;
}
認真看書。
which()
返回對數組的第三個元素的引用;通過which(2) = ...
您將值分配給該引用引用的變量。
但是,要了解它如何工作,你必須明白什麼是參考是 - 這就是這本書,你應該得到解釋。
由於字符串「愛麗絲」是字符數組,和陣列開始於索引0,第二索引是字符串中的第三字符。
您還返回一個參考,而不是字符的副本,這就是爲什麼字符串的變化,如果你改變它的價值。
「我知道爲什麼它是第三個,但我不知道它是如何工作」 ...... – Griwes
您需要在C++參考文獻[讀了(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 –