我需要使用大小为400000000的bitset。就像这样:
#include<iostream>
#include<bitset>
using namespace std;
int main(){
bitset<400000000> coord;}
但我的程序崩溃是因为bitset太大了。那么如何动态分配bitset呢?我不能使用boost库。
答案 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;
}