为什么 ~= 是 C++ 中唯一缺少的非逻辑赋值运算符?
Why is ~= the only non-logical assignment operator missing in C++?
出于好奇,为什么按位运算符 ~
是唯一在 C++ 中没有赋值版本的非逻辑运算符,即 ~=
?所有关系运算符和按位运算符都有赋值版本,但缺少 ~=
。这有什么特别的原因吗?
对于 C++ 中的所有运算符,请参见示例:http://www.tutorialspoint.com/cplusplus/cpp_operators.htm
进行复合赋值的所有运算符都是二进制。另一方面,Tilde 是 unary,因此没有简单的方法从它进行复合赋值,因为没有东西可以放在右侧。
其他一元操作数,例如一元减号和逻辑非 !
运算符,也没有复合赋值。
出于好奇,为什么按位运算符 ~
是唯一在 C++ 中没有赋值版本的非逻辑运算符,即 ~=
?所有关系运算符和按位运算符都有赋值版本,但缺少 ~=
。这有什么特别的原因吗?
对于 C++ 中的所有运算符,请参见示例:http://www.tutorialspoint.com/cplusplus/cpp_operators.htm
进行复合赋值的所有运算符都是二进制。另一方面,Tilde 是 unary,因此没有简单的方法从它进行复合赋值,因为没有东西可以放在右侧。
其他一元操作数,例如一元减号和逻辑非 !
运算符,也没有复合赋值。