如何在C ++中创建ActiveRecord::Base.connection_pool.disconnect!
量的连续向量?我阅读了很多关于使用bool
的警告,我想将掩码存储到std::vector<bool>
。
为了使我的目的更加明确,我想在std::vector<double>
上对std::vector<double>
向量中那些为真的元素应用统计数据。为了达到最佳性能,我希望矢量是连续的。
答案 0 :(得分:4)
您需要了解人们发现std::vector<bool>
存在问题的具体问题,因为它们并不一定适用于您的情况。可能最重要的是它不一定是连续的。在这里连续可能是用词不当。为整个向量分配的内存仍然可能是连续的块,但&vec[0] + i
与&vec[i]
不一样。
然而,许多其他std::vector
品质仍然存在 - 例如,它仍然提供恒定时间随机访问。
底线 - 不要只是害怕,而是要了解其含义。
答案 1 :(得分:1)
使用std::bitset
该类模拟bool元素数组,但针对空间分配进行了优化
引自:http://www.cplusplus.com/reference/bitset/bitset/