我有一个需要大量内存的类。
class BigClass {
public:
BigClass() {
bf1[96000000-1] = 1;
}
double bf1[96000000];
};
我只能通过在堆内存中“new”一个对象来启动类。
BigClass *c = new BigClass();
assert( c->bf1[96000000-1] == 1 );
delete c;
如果我在不使用 "new" 的情况下启动它,那么运行时将会出现分段错误。
BigClass c; // SIGSEGV!
我应该如何确定内存限制?还是说我最好始终使用“new”?
new
运算符使用)和用于自动变量的栈内存,例如BigClass c;
。 - Luca Martini