Почему наборы битов реализованы через параметры шаблона

Я понимаю, что наборы битов не могут быть распределены динамически, потому что они основаны на параметрах шаблона. Но почему наборы битов были реализованы таким образом?

Спасибо

1

Решение

Эффективность? Потому что это общий вариант использования? Если вы хотите, чтобы динамические битовые наборы учитывались vector<bool>, На нем даже есть определенные битовые операции. Но читайте этот первый.

1

Другие решения

Это делается для того, чтобы наборы битов имели характеристики, максимально приближенные к характеристикам целого числа без номера (которое широко используется для представления наборов битов в противном случае). Одним из них, отвечающим за размер, являющийся параметром шаблона, является требование не иметь неявного динамического выделения памяти.

Для ситуаций, когда динамический размер важнее других характеристик, можно использовать увеличить dynamic_bitset.

2