导致此内联+ =运算符行为的原因是什么?

时间:2017-05-02 03:46:20

标签: c++ operators

为什么这样:

while (arr[i] == arr[i += shift]) { // not working
  if (i == target)
    return arr[i];
}

或者这个:

while (arr[i] == arr[i = (i + shift)]) { // not working
  if (i == target)
    return arr[i];
}

与此不同:

while (arr[i] == arr[i + shift]) {  // works
  i += shift;
  if (i == target)
    return arr[i];
}

我的直觉是所有三个都应该表现完全一样。

0 个答案:

没有答案