看板 C_and_CPP 關於我們 聯絡資訊
但是...3000000000已經超過int的範圍 所以就算放在heap挖這麼大也無濟於事 compile會出現warning而不是error 會過,但是實際上用不了這麼多 15:29:54 root@root [~] #>> g++ 1.cpp 1.cpp: In function `int main()': 1.cpp:2: warning: this decimal constant is unsigned only in ISO C90 1.cpp:2: warning: integer overflow in expression ※ 引述《jenallen (reborn)》之銘言: : 還有一個問題也蠻常見的... : 為啥陣列配太大就會出錯阿?如: int array[3000000000]; : Ans: 這種方法會將資料配置在function stack中,而function stack的大小 : 並不大,若有大陣列需求,請將其配在heap。如: : int *array=new int[3000000000]; : 或者直接使用C++標準庫中的vector<T>類別。 : 嗯...其實記憶體管理就可以寫一堆勒...另外,從無到有建構FAQ不免太辛苦, : 看看網路上的C/C++ FAQ已經蠻多內容了,不如擇優將其翻譯後加入吧? :) : C: http://www.eskimo.com/~scs/C-faq/top.html : C++: http://www.parashift.com/c++-faq-lite/ : ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.141.1
akalashnikov:執行時就會爛掉:Abort (core dumped) 140.113.141.1 08/25
clifflu:沒事用樹幹寫程式不太好喔 XD140.112.212.129 08/25
akalashnikov:只是測試一下... 140.113.141.1 08/25
jenallen:sorry, 應該挖小一點...140.116.163.119 08/25
UNARYvvv:不是樹根嗎??? 61.70.137.117 08/25
akalashnikov:對,是樹根,我在想哪邊有 trunk 03/29 20:35