dy <<= 1;
dx <<= 1;
Run Code Online (Sandbox Code Playgroud)
这是我发现的一些C++代码,它对变量做了什么,以及该运算符调用了什么?
这种转移dy和dx1位到左侧.
它相当于(除非dy和dx有operator = << overloaded)
dy = dy << 1;
dx = dx << 1;
Run Code Online (Sandbox Code Playgroud)
如果dx并且dy是整数类型,则相当于乘以2.
请注意,左移负数是未定义的行为.
程序员认为这比仅乘以2更有效率(这不是,但它的可读性要低得多),这是一个丑陋的黑客行为.
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |