gpt4 book ai didi

operators - 现代语言支持 += 但不支持 &&=

转载 作者:行者123 更新时间:2023-12-04 15:36:35 25 4
gpt4 key购买 nike

大多数(但我实际上只知道一小部分,所以不要在这一点上挑剔)高级语言支持多个不同的赋值运算符。

a += 5;  // increment a and assign result beack to a.

但是没有一个(我看过(又是一小部分))似乎支持 &&= 运算符。
我问的原因是我最近看到了这个:
// simplified.
bool x = false;


x = x && testA(); // perform test A/B/C/D stop on first failure.
x = x && testB();
x = x && testC();
x = x && testD();

我想知道为什么我们不能使用:
x &&= testA(); // perform test A/B/C/D stop on first failure.
x &&= testB();
x &&= testC();
x &&= testD();

原因是 C/C++ 不支持 &&= ,这让我们想到了原因。

语言是否支持所有其他主要运算符的赋值形式而不是 &&= 或 ||=

我对反对这些的论点有一个模糊的记忆,但是当您的搜索词是“&&=”时,谷歌和 SO 搜索很困难,结果我什么也没找到。

最佳答案

&&||特殊之处在于,在大多数语言中,它们是唯一提供短路评估的结构,因此在涉及缩写形式时,将它们与正常的非短路运算符区别对待是有意义的.避免 &&= 混淆的最简单方法短路与否首先不包括它。

关于operators - 现代语言支持 += 但不支持 &&=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7828112/

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