Мне кажется, я просто надеюсь, что они могут, но может ли вектор получить доступ к функциям-членам набора битов?
Например, могу ли я сделать что-то подобное.
vector<bool> myvector;
myvector.count();
myvector.test(1);
Если нет, то есть ли динамический набор битов с использованием стандартных библиотек C ++?
РЕДАКТИРОВАТЬ:
Я хочу использовать определенные функции набора битов (test, count) и хочу использовать конструктор bitset (unsigned long val)
,
В основном я хочу создать набор битов для некоторого произвольного val
затем выполните некоторые операции с тестом и подсчетом. Затем я хочу освободить и воссоздать битовый набор с уменьшенным значением val. Я хочу продолжать делать это, пока val не станет меньше 8.
Тем не менее, не похоже, что создание динамического набора битов возможно и использование вектора, который является динамическим, означает, что я могу использовать некоторые из хороших функций набора битов.
Похоже, вам не нужен динамический набор битов. std::bitset
присваивается копия, поэтому вы можете сделать:
const size_t size = sizeof(unsigned long) * CHAR_BIT;
typedef std::bitset<size> my_bitset;
unsigned long val = 42;
my_bitset bs(val);
/* do work */
bs = my_bitset(--val); // assign with new, decremented val