在我的程序中,我需要检查是否已经在一组2.5*10 ^ 9中生成了一个值.我希望生成大约一半的集合,并需要快速检查和更新它.在我看来,bitset是一个好主意,因为它不需要太多内存(每个值1位)并且速度很快.
问题是,当我在我的课程中定义我的设置时,我得到一个segmentation fault因为尺寸太大(它适用于较小的尺寸).
private:
std::bitset<2500000000UL> cover; // not working
std::bitset<25000UL> cover; // working
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
谢谢
PS:如果可能,我宁愿不使用外部库.我已经在使用GMP,但我不认为他们对大数字有一点设置.