我找到了这段代码:
enum
{
IsDynamic = (1U << 0), // ...
IsSharable = (1U << 1), // ...
IsStrong = (1U << 2) // ...
};
(1U << X)
是什么意思?怎么办?
最佳答案
它设置位掩码:
1U << 0 = 1
1U << 1 = 2
1U << 2 = 4
etc...
发生的情况是 1U(无符号值 1)向左移动 x 位。
您发布的代码相当于:
enum
{
IsDynamic = 1U, // binary: 00000000000000000000000000000001
IsSharable = 2U, // binary: 00000000000000000000000000000010
IsStrong = 4U // binary: 00000000000000000000000000000100
}
关于c++ - (1U << X) 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2128442/