Peter.Y的技术博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年3月2日

摘要: 前两天调代码的时候出了个运行时错,什么after block之类的,依据经验判断基本是new申请的空间发生错误,一般是越界造成的。这个问题本身没什么,倒让我对new的内部实现产生小小的好奇。好,试验一把!我这里只有VC的平台,就看看VC的实现吧!#define TYPE intvoid main(){TYPE *xp=new TYPE[10];xp[0] = 1;xp[1] = 2;xp[9] = 10;xp[12] = 12;xp[-3] = 11;delete []xp;}测试源码如上,这段代码在VC6.0上是运行无错的。(当然这么写还是很有问题的)DEBUG进new之后,发现new之后, 阅读全文
posted @ 2009-03-02 05:17 Peter.Y 阅读(342) 评论(0) 推荐(0) 编辑