[問題] 請問如何用struct 宣告大的陣列?
如標題
今天若我自己編寫一個 struct 叫做 ABC
那我該如何宣告出大的陣列呢?
例如
宣告 ABC temp[size]
size=512
DEBUG會過
但只要 size > 175000
就會跳陣列大小不得超越7fffffff個位元組
請問我該如何用我自創的sturct 去宣告大的陣列呢?
希望知道的大大可以教小弟一下
萬分感謝
====================================================
我有試過用
在main中用下列兩種方式(當size =150000)
ABC temp[size];
ABC *temp = new ABC[size];
雖然DEBUG都會過 但是執行會跳出
於 0x7c812afb 的 Find base.exe 中發生未處理的例外狀況: Microsoft C++ 在記憶體
位置 0x0012fd7c,發生例外狀況: std::bad_alloc
但當我用
struct ABC{
int a;
int aa[512][2];
}temp[size];
即可正常使用 temp
和 Vic大討論過 覺得是因為 global 跟 local之分別 影響到會不會爆炸
但如果我必須用到20W個 ABC型態之ARRAY
我自己是想只能多宣告幾個ARRAY去放
有大大有比較好的方法嗎
環境為 visual studio 2008
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.14.178
推
10/06 21:44, , 1F
10/06 21:44, 1F
※ 編輯: S4snow 來自: 140.120.14.178 (10/06 21:53)
→
10/06 21:54, , 2F
10/06 21:54, 2F
→
10/06 21:55, , 3F
10/06 21:55, 3F
推
10/06 22:18, , 4F
10/06 22:18, 4F
※ 編輯: S4snow 來自: 140.120.14.178 (10/06 22:39)
→
10/06 22:33, , 5F
10/06 22:33, 5F
※ 編輯: S4snow 來自: 140.120.14.178 (10/06 22:40)
推
10/06 22:41, , 6F
10/06 22:41, 6F
→
10/06 22:42, , 7F
10/06 22:42, 7F
推
10/06 23:20, , 8F
10/06 23:20, 8F