C++中超大数组的空间分配

在C或者C++中,在函数(包括main函数)中定义数组,对于任何程序员来说都是so easy的事,当然这通常是对于一些容量小的数据;当我们有大量的数据需要处理的时候,比如1GB大小的数据,按照常规的方式在函数中定义数组空间,往往会运行出错,那么如何解决这样的问题呢?

在这里大家需要了解一点的是,C++中,在函数(包括main函数)中定义超大数组,内存为栈所分配的最大空间为4M,因此在子函数或者main函数中定义超大数组的方式是万万行不通的。

解决方式:为超大数组创建为一个全局数组。

有时候觉得数组使用起来不方便,可以采用定义vector的方式,但需要注意的是,vector通常只能分配出512M的空间。



猜你喜欢

转载自blog.csdn.net/czy47/article/details/80943740