Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melaksanakan Bendera Enum dalam C Tanpa Perpustakaan Luaran?

Bagaimana untuk Melaksanakan Bendera Enum dalam C Tanpa Perpustakaan Luaran?

Mary-Kate Olsen
Lepaskan: 2024-12-30 16:37:15
asal
645 orang telah melayarinya

How to Implement Enum Flags in C   Without External Libraries?

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
Salin selepas log masuk

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;
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan