【发布时间】:2020-04-06 05:07:06
【问题描述】:
假设我这样写一个函数:
bool Ship::processHit()
{
health--;
return !health = sunk;
}
这会将sunk 设置为与!health 相同的值吗?
【问题讨论】:
-
你要返回 !health 的值并一起沉没?
-
递减后的!health是什么意思。是整数,怎么取反?
-
分配总是从右到左。如果您希望
sunk获得与!health相同的值(并返回该值),那么您需要反转分配。 -
这个编译成功了吗?
-
顺便说一句,在较大的语句中隐藏更改变量值的内容并不是一个特别好的做法。大多数人会喜欢将其分解为一行中的任务并在下一行返回,因为
sunk正在更改更为明显。扫return这一行很容易,看到return关键字,然后停止阅读。