【发布时间】:2014-01-28 12:46:35
【问题描述】:
我对这段代码感到惊讶:
if (a =! b) { // let it be on false
...
}
但a 永远不会被赋值。这个运算符是干什么的?
【问题讨论】:
-
"But a is never assigned by a value"- 你想说什么? -
它几乎是 Yoda 的
!=运算符。 “a 不等于 b”。更好的是“a,b,不等于”。但是a b =!或a,b =!无法编译。 -
这与
while(i --> 10)中使用的“转到”运算符-->非常相似。见stackoverflow.com/questions/1642028/… -
你用 C++ 标签标记了这个问题。所以,它实际上可以是任何东西,具体取决于 a 的类型,因为运算符重载。在这种情况下,重载的运算符是
=。除非您使用的 C 或 C++ 的变体对此有特殊意义