在C++中赋值到右移是什么意思?

Wil*_*mKF -1 c++ operators bit-shift

我遇到了一些令人费解的代码:

int mask = someFunction();
mask>>=1; // What does this line do?
Run Code Online (Sandbox Code Playgroud)

我以前从未见过这种模式,想要了解它的作用.

dje*_*lin 8

与...相同mask = mask >> 1.与所有常用的操作员一样工作=.

  • 除了`mask`只被评估一次(在这种情况下没有区别,但是`mask`可能是一个更复杂的(左值)表达式). (2认同)