作者akalashnikov (ak)
看板C_and_CPP
标题Re: [FAQ&FME] C 语言新手十诫
时间Thu Aug 25 15:29:16 2005
但是...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
1F:→ akalashnikov:执行时就会烂掉:Abort (core dumped) 140.113.141.1 08/25
2F:→ clifflu:没事用树干写程式不太好喔 XD140.112.212.129 08/25
3F:→ akalashnikov:只是测试一下... 140.113.141.1 08/25
4F:→ jenallen:sorry, 应该挖小一点...140.116.163.119 08/25
5F:→ UNARYvvv:不是树根吗??? 61.70.137.117 08/25
6F:→ akalashnikov:对,是树根,我在想哪边有 trunk 03/29 20:35