2
มีข้อได้เปรียบในการจัดการบิตของ c-style มากกว่า std :: bitset หรือไม่?
ฉันทำงานเฉพาะใน C ++ 11/14 และมักจะประจบประแจงเมื่อฉันเห็นรหัสเช่นนี้ std::int64_t mArray; mArray |= someMask << 1; นี่เป็นเพียงตัวอย่างเท่านั้น ฉันกำลังพูดถึงการจัดการบิตที่ชาญฉลาดโดยทั่วไป ใน C ++ มีจุดใดจริง ๆ หรือไม่ ข้างต้นคือการแปรปรวนของจิตใจและข้อผิดพลาดได้ง่ายในขณะที่ใช้std::bitsetช่วยให้คุณ: ปรับเปลี่ยนขนาดของstd::bitsetสิ่งที่ต้องการได้ง่ายขึ้นโดยการปรับพารามิเตอร์เทมเพลตและให้การใช้งานสามารถจัดการส่วนที่เหลือและ ใช้เวลาน้อยลงในการหาว่าเกิดอะไรขึ้น (และอาจทำผิดพลาด) และเขียนstd::bitsetในลักษณะที่คล้ายกับstd::arrayหรือบรรจุข้อมูลอื่น ๆ คำถามของฉันคือ; มีเหตุผลที่จะไม่ใช้std::bitsetกับประเภทดั้งเดิมอื่น ๆ นอกเหนือจากความเข้ากันได้ย้อนหลัง?