【发布时间】:2013-07-27 10:43:59
【问题描述】:
我对 C 和 C++ 的 typedef 枚举语法有点熟悉。我现在正在使用 Objective-C 进行编程,并遇到了以下示例中的语法。我不确定语法是否特定于 Objective-C。但是,我的问题是在下面的代码 sn-p 中,1 << 0 这样的语法是什么意思?
typedef enum {
CMAttitudeReferenceFrameXArbitraryZVertical = 1 << 0,
CMAttitudeReferenceFrameXArbitraryCorrectedZVertical = 1 << 1,
CMAttitudeReferenceFrameXMagneticNorthZVertical = 1 << 2,
CMAttitudeReferenceFrameXTrueNorthZVertical = 1 << 3
} CMAttitudeReferenceFrame;
【问题讨论】:
-
感谢卡尔的帖子。仅供参考,我在发布之前进行了搜索。但我不知道这叫位移。
-
没问题,这就是我们来这里的目的。 =)
-
你的问题在这里回答:define SOMETHING
(1 << 0)和理解<<操作员vies this -
我看到有人将我的问题标记为重复。在发布我的问题之前,我查看了题为 Absolute Beginner's Guide to Bit Shifting 的文章。我的问题不是重复的,因为我指定我的问题是针对 Objective-C 的。虽然我知道 Objective-C 是从 C 派生的,但 Apple 可能会在 Objective-C 中添加一些额外的位移功能。因此,我提出了针对 Objective-C 的问题。
标签: objective-c c syntax enums typedef