objective-c - 目标 - C - << 在枚举中的使用

标签 objective-c c typedef enumeration

我在Apple的文档中看到枚举有时是这样定义的

enum {
UICollectionViewScrollPositionTop = 1 << 0,
UICollectionViewScrollPositionBottom = 1 << 1
}

<< 是什么意思?

最佳答案

这是bitwise shift left运算符(operator)。它用于创建具有单个位集的值,这在需要通过按位或进行组合时非常常见。

对于这些值,您稍后可能会说:

const int top_and_bottom = UICollectionViewScrollPositionTop | UICollectionViewScrollPositionBottom;

这将导致 top_and_bottom 被设置为 3(二进制 112)。

关于objective-c - 目标 - C - << 在枚举中的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14935947/

相关文章:

c++ - BOOST MPL 添加两个 list_c 对象导致意外行为

objective-c - CALayer - 未调用显示方法

objective-c - 在 Objective-C 中实现 "Show in Finder"按钮

c++ - 哪些数据会被缓存?

谁能向我解释一下到底是什么原因导致了这个段错误以及如何克服这个问题?

c++ - 私有(private)继承的 typedef 对嵌套类的可见性

c - 制作 typedef 结构的副本/指针

ios - 如何调用我的自定义 uiwebview 类的 webViewDidFinishLoad?

objective-c - 将 ivar 放在类扩展中有什么问题?

c - 分配给作为结构成员的指针会导致段错误