下面的代码产生了一个segementation故障,我不明白为什么.下面的代码使用向量来存储多个大型结构,但代码不会运行并产生分段错误.我不明白为什么.我的理解是vector resize在堆中分配内存,所以这不应该是堆栈溢出问题.我的系统具有非常大的物理内存(256 GB),代码以64位模式编译,因此仅分配40 MB应该不是问题.有任何想法吗?
非常感谢你提前,
#include <vector>
using namespace std;
typedef struct _tmp_t {
int a_data[10*1000*1000];/* large array */
} tmp_t;
int main( void ) {
vector<tmp_t> v_tmp;
v_tmp.resize( 1 );
return 0;
}
Run Code Online (Sandbox Code Playgroud)