Code Bye

C++ class的体积 有没有限制

class A {
char buf[64*1024*1024];
A () {
memset (buf, 0, sizeof(buf));
}
void test (void) {
// something use buf
}
};
这种情况下,buf的尺寸,有没有限制?
解决方案

10

怎么样定义在栈上, 就有限制, 一般为4KB, 假如定义在堆上, 就是电脑中可用的内存有关了.

20

只要是new出来的就没关系。
在栈上申请则会爆炸,至少占64M
而一般栈空间只有几M

10

栈分配的东西,不要超过64K,毕竟一个线程的栈容量有限

20

在栈上分配只要你栈够,在堆上分配只要你堆够,同时不要超过0x7fffffff字节即可

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++ class的体积 有没有限制