我在in`C++中遇到过很多次<<++
和>>++
操作符,但我不明白它们是什么。这些运算符的具体含义和用途是什么,它们与右移位和左移运算符有什么不同?
发布于 2018-06-03 01:12:20
C++编译器会忽略空格,除非在某些情况下,比如字符串文字。
<<++
和>>++
实际上只是一个位移位运算符<<
或>>
,后面跟着一个增量运算符++
。
考虑下面的代码:
a <<++ b
等同于toa<<++b
,因为在此上下文中忽略了空格,然后由于运算符优先级,等同于toa << ++b
(a
左移了一个预增的b
) a << (++b)
。位移位运算符的优先级低于incrementation.发布于 2018-06-03 01:06:16
在这两种情况下,都有两个独立的运算符:左移(<<
)、右移(>>
)和增量运算符(++
)。
您可以重写以下代码:
a >>++ b
作为:
a >> (++b)
https://stackoverflow.com/questions/50659193
复制相似问题