Cara Melaksanakan Bendera Enum dalam C Tanpa Perpustakaan Luar
Dalam C , tidak seperti dalam C# di mana atribut [Flags] memperkemas menggunakan enum sebagai bendera, terdapat keperluan untuk pendekatan tersuai untuk mencapai yang serupa kefungsian.
Untuk mentakrifkan bendera sebagai enum, kami boleh mencipta operator bit untuk enum:
enum AnimalFlags { HasClaws = 1, CanFly = 2, EatsFish = 4, Endangered = 8 }; inline AnimalFlags operator|(AnimalFlags a, AnimalFlags b) { return static_cast<AnimalFlags>(static_cast<int>(a) | static_cast<int>(b)); } // Define the rest of the bit operators here
Ini membolehkan kami untuk gunakan operator seperti | untuk menggabungkan bendera:
// Declare a variable of type AnimalFlags AnimalFlags seahawk; // Set the flags using the | operator seahawk = CanFly | EatsFish | Endangered;
Ini memastikan keselamatan jenis dan penggunaan bendera yang dimaksudkan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Bendera Enum dalam C Tanpa Perpustakaan Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!