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
618 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!

sumber:php.cn
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