new大批量的内存储器后,使用vector,程序崩溃

new大批量的内存后,使用vector,程序崩溃
一段程序
vector m_targetFileTypeInfo;
struct nodesArray
{
  double (*eleArray)[3];
};
nodesArray nodesArrayInfo[3];

for (int i=0; i<100; i++)
{
  nodesArrayInfo[i].eleArray = new double[10001][3];
}

vector().swap(m_targetFileTypeInfo);

在执行“vector().swap(m_targetFileTypeInfo);”的时候崩掉了,请问是为什么
------解决思路----------------------
nodesArray nodesArrayInfo[3];//这里只有三个

for (int i=0; i<100; i++)//这里却循环100个,内存早越界了
{
  nodesArrayInfo[i].eleArray = new double[10001][3];
}
------解决思路----------------------
nodesArray nodesArrayInfo[3];

for (int i=0; i<100; i++)
{
  nodesArrayInfo[i].eleArray = new double[10001][3];
}


nodesArrayInfo只有3个
但是写入了100个,越界写入。
------解决思路----------------------
引用:
nodesArray nodesArrayInfo[3];//这里只有三个

for (int i=0; i<100; i++)//这里却循环100个,内存早越界了
{
  nodesArrayInfo[i].eleArray = new double[10001][3];
}

+1

写越界了,操作了不属于自己东西,再次访问的时候就会崩掉!
------解决思路----------------------
 3 == 100 这数学好的。。。
------解决思路----------------------
你这样越界写入的是自己无法掌控的空间,这个崩溃是很正常的。