C++怪异函数
我不知道为什么它会把第三个符号改成w,这是非常奇怪的符号。我知道为什么它是第三个符号,但我不知道它是如何工作的C++怪异函数,c++,C++,我不知道为什么它会把第三个符号改成w,这是非常奇怪的符号。我知道为什么它是第三个符号,但我不知道它是如何工作的 using namespace std; char napis[] = "ALICE"; char& which(int n){ return napis[n]; } int main(){ which(2) = 'w'; cout << napis << endl; return 0; } 买本书,说真的 返回对数组第三个元素的引用;wh
using namespace std;
char napis[] = "ALICE";
char& which(int n){
return napis[n];
}
int main(){
which(2) = 'w';
cout << napis << endl;
return 0;
}
买本书,说真的
返回对数组第三个元素的引用;which2=。。。您可以为该引用引用的变量赋值
但是要理解它是如何工作的,你必须理解什么是引用,这在那本书中已经解释过了。因为字符串ALICE是一个字符数组,数组从索引0开始,第二个索引是字符串中的第三个字符 你也返回了一个引用而不是一个字符副本,这就是为什么字符串如果改变它的值就会改变的。你需要在C++引用上。