1、int *pi = new int; 这样pi指向一个未初始化的整型变量,而
int *pi = new int(); 这样pi就指向一个初始化为0的整型变量
2、int i;
int *pi = &i;
delete pi;
这样是错误的,因为pi并不是分配在free store里的
3、delete p;
当写上以上的语句时,虽然这个内存已经被释放掉了,可是p仍然是一个地址值,p被称之为dangling pointer,如果再使用p的话就会出问题,所以,应该:
p = 0; 这样就说明p确实没有指向任何对象了
4、关于指针的转换有两条:
(1)指向任何对象的指针都能被转换成void *
(2)指向0的指针可以被转换成任意类型的指针
5、在默认情况下,C-style的转型动作和const_cast, static_cast, reinterpret_cast是相同的,但是,如果系统发现无法按const_cast, static_cast转型,那么,系统将使用最底层,也是最危险的转型reinterpret_cast
第五章结束
---end--- next: 6.1. Simple Statements time:05-9-27 0:59am