Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memulakan Bitset Saiz Tidak Diketahui dalam C?

Bagaimana untuk Memulakan Bitset Saiz Tidak Diketahui dalam C?

Susan Sarandon
Susan Sarandonasal
2024-11-23 21:36:11606semak imbas

How to Initialize a Bitset of Unknown Size in C  ?

Cara Menentukan Saiz Bitset pada Permulaan

Apabila mentakrifkan bitset dalam C , anda boleh menentukan saiz pada masa permulaan. Walau bagaimanapun, ini menjadi sukar apabila saiznya tidak diketahui sehingga selepas pembolehubah diisytiharkan.

Pertimbangkan kod berikut:

#include <bitset>

class Test {
public:
    std::bitset *myBitset;
};

Kod ini tidak akan dikompilkan kerana saiz bitset tidak dinyatakan. Anda tidak boleh menggunakan penuding kepada set bit saiz yang tidak diketahui.

Satu penyelesaian ialah menggunakan kelas dynamic_bitset daripada perpustakaan Boost:

#include <boost/dynamic_bitset.hpp>

class Test {
public:
    boost::dynamic_bitset<> myBitset;
};

Ini membolehkan anda mencipta set bit daripada sebarang saiz pada masa jalan.

Penyelesaian lain ialah menggunakan vektor boolean:

#include <vector>

class Test {
public:
    std::vector<bool> myBitset;
};

Ini tidak sesuai, tetapi ia berfungsi kerana vektor boolean dikhususkan untuk bertindak seperti set bit.

Mana-mana penyelesaian yang anda pilih, ingat bahawa adalah penting untuk menentukan saiz set bit pada masa permulaan. Jika tidak, anda akan menghadapi ralat pengkompil.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Bitset Saiz Tidak Diketahui 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