posts - 62,  comments - 19,  trackbacks - 0
c++中delete前,判断指针是否为0,有必要吗?

有必要判断pi = 0吗?

if ( pi != 0 )
    delete pi;
解答:

c++中,如果指针等于0的话,c++不会调用delete的。(因为c++中隐式的进行了判等)

如果显示的判等,那么实际上这个测试会被执行2次。


静态与动态内存分配的两个主要区别:

1. 静态对象是有名字的变量,直接对其进行操作;动态对象是没有名字的变量,通过指针间接地对它们进行操作。

int *pia = new int (1024)
分配了一个没有名字int类型的对象,对象初始值是1024。然后,表达式返回对象在内存中的地址。


2. 静态对象的分配和释放由编译器自动处理。动态对象的分配和释放必须由程序员自己显式管理。

















posted on 2006-11-09 16:53 乔栋 阅读(1908) 评论(0)  编辑 收藏 引用 所属分类: C++的健身房

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2006年11月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜


My blog is worth $0.00.
How much is your blog worth?