c – 可变大小的bitset

参见英文答案 > Define bitset size at initialization?                                    6个
我在数组上练习一个问题,我必须找到独特的元素.现在我的逻辑是找到数组中的max元素并为其定义bitset.但问题是bitset需要一个恒定的值,所以如何克服这个,下面是我的一些问题:

a)我可以用任何机会定义一个可变大小的bitset吗?
b)如果没有,那么使用vector< bool>的最佳方法是什么?或矢量< char>?
c)我知道boost有一个动态bitset,但是当我这样做学习时,我想知道其他方法.

解决方法:

std :: bitset< N>模板需要提前确定大小. std :: vector< bool>是C标准提供可变长度位向量的方法,它提供类似于可以增长和缩小的位集的功能.

至于使用vector< char>是否更好或更差或向量< bool>:向量< bool>是实现这一目标的更直接的方式.我会先使用它,然后切换到vector< char>如果表现不可接受.一般来说,最好先尝试编写最干净,最直接的实现,然后再进行优化.

希望这可以帮助!

上一篇:8.21


下一篇:BitSet 的使用