创建一个大的bitset

时间:2014-12-12 18:27:44

标签: c++ memory-management stl bitset

我需要使用大小为400000000的bitset。就像这样:

 #include<iostream>

 #include<bitset>

 using namespace std;

 int main(){
 bitset<400000000> coord;}

但我的程序崩溃是因为bitset太大了。那么如何动态分配bitset呢?我不能使用boost库。

1 个答案:

答案 0 :(得分:2)

您可以使用new分配堆中的内存。堆比堆栈大得多。代码如下。

 #include<iostream>

 #include<bitset>

 using namespace std;

 int main(){
    bitset<400000000UL>* coord_ptr = new bitset<400000000UL>();
    bitset<400000000UL> coord = *coord_ptr;
    // <~~ do stuff ~~>
    delete coord_ptr;
 }