赞
踩
众所周知,最开始我们用new来创建一个指针,那么等我们用完它之后,一定要用delete将该指针删掉。但是,值得注意的是,难道就仅仅是删除这个指针这么简单的么?下面,我们用一个程序来说明这个问题:
#include |
02 | using |
03 | int |
04 | { |
05 | |
06 | |
07 | |
08 | |
09 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | } |
在删除一个指针之后,一定将该指针设置成空指针(即在delete *p之后一定要加上: p=NULL)
1 |
2 | |
3 | #ifndef NULL |
4 | #ifdef __cplusplus |
5 | #define NULL |
6 | #else |
7 | #define NULL |
8 | #endif |
9 | #endif |
p.s. 对于NULL的应用,我们不应该仅限于上面的方法,还可以应用NULL来判断指针是否初始化成功了,如下例if中的判断方法:
01 | #include |
02 | using |
03 | |
04 | int |
05 | { |
06 | |
07 | |
08 | |
09 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | } |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。