繁体   English   中英

C ++怪异函数

[英]c++ weird function

我不知道为什么将第三个符号更改为w,这是非常奇怪的表示法(我知道为什么它是第三个符号,但是我不知道它是如何工作的)。

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) = ...您可以将值分配给该引用所引用的变量。

但是要了解它是如何工作的,您必须了解参考是什么,您应该在书中对此进行解释。

由于字符串“ ALICE”是一个字符数组,并且数组从索引0开始,因此第二个索引是字符串中的第三个字符。

您还将返回引用而不是char的副本,这就是为什么如果更改字符串的值,字符串也会更改的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM