int *pNew = new int[5]; //以16字节对齐
char *pMalloc = (char*)malloc(1);
(堆里的是以16字节对齐的,所以pNew占用32字节)
在main()函数结束时,pNew 和 pmalloc自身是栈上的内存单元(因为他们是局部变量),会被自动释放的,而他们所指的内存是堆上的,虽然指向他们的指针已经不存在,但它们不会被自动释放,因此如果不对new的对象实施delete,和malloc的对象不free,则会造成内存泄漏。
阅读(1816) | 评论(2) | 转发(0) |