最近在做pat的题目,顺便想锻炼一下算法,使用过程中遇到了一下问题,记录一下。

1、scanf 和 printf 比cin和cout快很多,有些题目时间要求很严格的用cin(cout)会超时

2、动态申请的内存空间如果使用时溢出了,delete会报heap curruption detect。

  比如申请了char *a = new char[4],而输入时读进来6个字符,这时就会使用到不属于你的空间,delete []a时报错。

  最好在输入时用scanf_s,并指明长度,可以防止溢出。

3、局部变量保存在栈中,我的vs2010,内存4g的机器默认是1M左右相当于可以申请int arr[250000](int 4 字节)的数组。可以通过vs设置修改。

  如果需要更大的空间,可以设为全局变量(保存在全局区),或者动态申请,保存在堆(heap)中。

posted on 2012-11-21 11:35  backing  阅读(245)  评论(0)    收藏  举报