gpt4 book ai didi

c++ - 赋值运算符在 return 语句中意味着什么,比如 return t =...?

转载 作者:可可西里 更新时间:2023-11-01 18:19:49 27 4
gpt4 key购买 nike

我有疑问,像我的代码示例中那样返回赋值表达式是什么意思?我有一个枚举,我已经覆盖了++:operator。所以在我的简短示例中可以在 ligths 之间切换 - 但代码中有一部分我不明白。代码编译并运行良好。

代码:

enum Traficlight
{green, yellow, red };

Traficlight& operator++(Traficlight& t)
{
switch (t)
{
case green: return t = Traficlight::yellow; //Here <--
case yellow: return t = Traficlight::red; //Here <--
case red: return t = Traficlight::green; //Here <--
default:
break;
}
}

int main()
{


Traficlight Trafic = Traficlight::green;
Trafic++;

if (Trafic == Traficlight::yellow)
{
cout << "Light is Yellow" << endl;
}

string in;

cin >> in;

}

“return t = Traficlight::yellow”是什么意思,为什么我不能直接返回“交通灯::黄色”。

最佳答案

在返回指令中,运算符分配给作为引用的t(修改它)然后返回值。

这就是增量运算符的作用:同时修改并返回引用,以便增量值可以在另一个操作中使用。

关于c++ - 赋值运算符在 return 语句中意味着什么,比如 return t =...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39983769/

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