看板 C_and_CPP 關於我們 聯絡資訊
我是用VC.net 2005寫的 今天在新增一個VECTOR時 http://rafb.net/p/0GaGMj46.html vector<int> LBt; 到後面 int newsize=10; int size; LBt.resize(newsize) ; size=LBt.size() // ==10沒錯 可是在偵錯中的變數欄裡面,一點開LBt,就會出現系統提示超過10000筆之類的 實在不懂哪來的.... 好像還會增加, vector<int> 是測試用的,真的有用的 vector<MyClass>, 這個類別很大,放著一下就當機了.... 大概是甚麼原因呢?
Ebergies:當然是因為亂用記憶體呀 04/07 18:06
lytn:怎麼說?vector的記憶體不是系統自動連續配的嗎? 04/07 18:13
lytn:結果好像是沒辦法在 Global Scope 理宣告vector? 04/07 19:52
lytn:我改在 function scope 裡宣告就都正常.怪 04/07 19:53
reambeam()就像裡面有一個vector<int> avec,這個初始化完的超做就完全正常. 就算換成vector<Beam> avec(10)也沒問題. class Beam 太雜 就先不給囉
yoco315:full source code 04/07 20:23
lytn:http://rafb.net/p/0GaGMj46.html 去掉其他多的東西了. 04/07 20:39
※ 編輯: lytn 來自: 140.113.130.186 (04/07 20:43) ※ 編輯: lytn 來自: 140.113.130.186 (04/07 20:44)
yoco315:我這邊沒問題 04/07 20:47
我新開一個 windows form 專案. 自動產生一個 From1.h,指拖了一個textbox上去, 增加 Form_Load 事件 http://rafb.net/p/SNtaUX79.html 在Form1_load事件裡 testvec.resize(20);這行增加中斷點. 直行到這裡以後,用滑鼠圈起變數,右鍵,新增監看式時 就會有 識別向'testvec'超過範圍 這是新專案,應該就跟我其他城市沒關係了吧? ※ 編輯: lytn 來自: 140.113.130.186 (04/07 21:18)
aecho:this->textBox1 ->Text =avec.size().ToString() ; 04/07 21:39
aecho:為什麼 -> 左邊會有個空白?是貼上去的程式碼的問題? 04/07 21:40
aecho:還是codes本身就有空白呢? 04/07 21:40
lytn:那個是 自動完成時按的空白 不影響 04/07 21:44