আমি অন্যদের আগে বিটওয়াইয়ার-ওআর ব্যবহার করে পতাকাগুলি একত্রিত করতে দেখেছি:
#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
তাও গুরুত্বপূর্ণ। ভিএস 2010-তে 64 বিটের পূর্ণসংখ্যার জন্য আমি মনে করি এটি1UI64
বা এটির মতো something কোনও ভুল ধরণের ব্যবহার আপনাকে দংশন করতে পারে।