मैंने देखा है कि दूसरों ने पहले झंडे को संयोजित करने के लिए Bitwise-OR का उपयोग किया है:
#define RUN 0x01
#define JUMP 0x02
#define SHOOT 0x04
const byte madPerson = RUN | JUMP | SHOOT;
मैं भी यही करता हूं।
लेकिन मैंने भी कुछ (बहुत सारे नहीं) झंडे जोड़ कर देखे हैं:
#define RUN 0x01
#define JUMP 0x02
#define SHOOT 0x04
const byte madPerson = RUN + JUMP + SHOOT;
कौन सा अधिक "पठनीय" है? (कौन सा आपको लगता है कि अधिक लोग पहचान लेंगे?) इसे करने के लिए "मानक" तरीका क्या है? तुम्हें कौन सा पसंद है?
1<<0
,1<<1
,1<<2
, और इतने पर। जब आपके पास कई झंडे होते हैं, तो यह अधिक पठनीय, अधिक बनाए रखने योग्य, कम त्रुटि-प्रवण हो जाता है। उदाहरण के लिए, यदि आप 64 बिट के सभी 64 बिट इंटों को पैक कर रहे हैं, तो आप वास्तव में टाइपो से बचना चाहते हैं :) आप किस तरह से प्रतिनिधित्व करते हैं1
यह भी महत्वपूर्ण है। VS2010 में 64 बिट पूर्णांक के लिए मुझे लगता है कि यह1UI64
या ऐसा ही कुछ है। एक गलत प्रकार का उपयोग करना आपको काट सकता है।