gpt4 book ai didi

c++ - 为什么即使我通过引用传递,变量的值也没有变化

转载 作者:行者123 更新时间:2023-12-03 07:06:31 24 4
gpt4 key购买 nike

#include <iostream>

char toupper(char& letter){
switch(letter){
case 'a':
return 'A';
break;
case 'b':
return 'B';
break;
case 'c':
return 'C';
break;
default:
return letter;
}
}

int main()
{

char labRat = 'a';
std::cout << toupper(labRat) << std::endl;
std::cout << labRat;

return 0;
}
输出:
A
a
即使我通过引用将变量传递给函数,变量的值也不会改变。为什么我的第二个输出行 A没有?

最佳答案

您确实确实通过引用该函数传递了labRat,但是没有在letter中更改labRat的值(在调用者中引用了toupper)。
这不是每个人的喜好,而是类似

return letter = 'A';
是返回值以及设置引用值的一种方法。分配表达式 letter = 'A'的值为 'A',类型为 char

1有些软件公司可能不清楚,因此禁止在 return语句中进行分配。将它们误读为 return letter == 'A';也很容易。

关于c++ - 为什么即使我通过引用传递,变量的值也没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64916103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com