Я немного знаком с синтаксисом typedef enum для C и C++. Я теперь программирую в Objective-C и натолкнулся на синтаксис в следующем примере. Я не уверен, что синтаксис специфичен для Objective-C или нет. Но, мой вопрос находится в следующем фрагменте кода, что означает синтаксис, например 1 << 0
?Что такое синтаксис typedef enum как «1 << 0»?
typedef enum {
CMAttitudeReferenceFrameXArbitraryZVertical = 1 << 0,
CMAttitudeReferenceFrameXArbitraryCorrectedZVertical = 1 << 1,
CMAttitudeReferenceFrameXMagneticNorthZVertical = 1 << 2,
CMAttitudeReferenceFrameXTrueNorthZVertical = 1 << 3
} CMAttitudeReferenceFrame;
Спасибо Карл за сообщение. Просто FYI, я искал до публикации. Но я не знал, что это называется бит-сдвигом. – MikeyE
Нет проблем, вот для чего мы здесь. =) –
Ответ на этот вопрос здесь: [define SOMETHING '(1 << 0)'] (http: // stackoverflow.com/questions/15095350/define-something-1-0) и понять '<<' operator [vies this] (http://stackoverflow.com/questions/15708493/what-is-the-meaning-of-this -declaration/15708566 # 15708566) –