Вы будете иметь свое собственное мнение о мудрости принятия бросков в / из

надеюсь) мы все знаем,vector<bool> полностью сломан и не может рассматриваться как массив c. Каков наилучший способ получить эту функциональность? До сих пор я думал о следующих идеях:

Использоватьvector<char> вместо илиИспользуйте класс-оболочку иvector<bool_wrapper>

Как вы, ребята, справляетесь с этой проблемой? Мне нужна функциональность c_array ().

В качестве дополнительного вопроса, если мне не нужен метод c_array (), каков наилучший способ решения этой проблемы, если мне нужен произвольный доступ? Должен ли я использовать deque или что-то еще?

Редактировать:

Мне нужен динамический размер.Для тех, кто не знает,vector<bool> специализируется так, что каждый бул занимает 1 бит. Таким образом, вы не можете преобразовать его в массив в стиле c.Я думаю, что "обертка" немного неправильное. Я думал что-то вроде этого:

Конечно, тогда я должен прочитать в my_bool из-за возможных проблем с выравниванием :(

struct my_bool
{
    bool the_bool;
};
vector<my_bool> haha_i_tricked_you;

Ответы на вопрос(8)

Ваш ответ на вопрос