在 C++ 中使用 <<++ 和 >>++ 运算符

Use of <<++ and >>++ operators in C++

我在`C++中多次遇到<<++>>++运算符,但我不明白它们是什么。这些运算符的具体含义和用途是什么,它们与右移和左移运算符有什么区别?

两种情况下都有两个单独的运算符:左移(<<)、右移(>>)和递增运算符(++).

您可以重写以下内容:

a >>++ b

如:

a >> (++b)

C++ 编译器忽略空格,除非在某些情况下,例如字符串文字。

<<++>>++ 实际上只是一个移位运算符 <<>>,后跟一个增量运算符 ++.

考虑这段代码:

  • a <<++ b 等同于
  • a<<++b 因为在这个上下文中忽略了空格,然后相当于
  • a << ++ba 左移一个预递增的 b
  • a << (++b) 由于运算符优先级。位移运算符的优先级低于递增。