大多数(但我实际上只知道一个小数字,所以不要在这一点上挑剔)高级语言支持多个不同的赋值运算符。现代语言支持+ =但不是&& =
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搜索很难当你的搜索词'& & =',因此我什么也没找到。
今天我有_exactly_这个想法,因为在lua中,'&&'是单词'和',所以我想知道他们是如何做&& =',并且意识到在lua或in中没有'&& ='大多数语言。 –