为什么〜= C ++中唯一缺少的非逻辑赋值运算符?

时间:2016-08-13 17:47:42

标签: c++ operators assignment-operator

出于好奇,为什么按位运算符~是唯一一个在C ++中没有赋值版本的非逻辑运算符,即~=?所有关系运算符和按位运算符都有赋值版本,但缺少~=。这有什么特别的原因吗?

对于C ++中的所有运算符,请参阅:http://www.tutorialspoint.com/cplusplus/cpp_operators.htm

1 个答案:

答案 0 :(得分:7)

从中进行复合赋值的所有运算符都是二进制。另一方面,Tilde是一元,因此没有简单的方法可以从中进行复合赋值,因为没有任何东西可以放在右侧。

其他一元操作数,例如一元减号和逻辑NOT !运算符,也没有复合赋值。