Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memulakan Bitset dengan Saiz Pembolehubah dalam C?

Bagaimana untuk Memulakan Bitset dengan Saiz Pembolehubah dalam C?

Linda Hamilton
Linda Hamiltonasal
2024-11-19 16:18:03829semak imbas

How to Initialize a Bitset with a Variable Size in C  ?

Menyesuaikan Saiz Bitset pada Permulaan

Dalam C , mengisytiharkan dan menggunakan bitset adalah mudah untuk saiz yang diketahui, seperti yang dilihat dalam contoh ini:

std::bitset<6> myBitset;

Walau bagaimanapun, mentakrifkan set bit dengan saiz pembolehubah semasa permulaan kelas memberikan cabaran. Pertimbangkan kod tidak kompil ini:

#include <bitset>
class Test
{
public:
     std::bitset *myBitset;
};

Memulakan set bit berdasarkan saiz yang ditentukan secara dinamik juga gagal:

int size = getDependentSizeForBitset();
myBitset = new bitset<size>();

Penyelesaian:

Untuk menangani isu ini, terdapat dua pilihan:

  • Bitset Dinamik Boost:
    Boost menyediakan dynamic_bitset yang membolehkan anda menentukan saiz bitset secara dinamik semasa permulaan .
  • Vektor Pengkhususan:
    Vektor dalam C dikhususkan untuk bertindak sebagai set bit. Walaupun ini boleh mengelirukan, ia membolehkan anda memulakan set bit dengan saiz berubah menggunakan:
std::vector<bool> myBitset;

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Bitset dengan Saiz Pembolehubah dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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