常量与指针
const 修饰左侧的变量;
- 常量指针 double *const p = &radius; 指针为常量,数据可以变。
- 常量数据 const double *p = &radius; 指针非常量,数据为常量。
- const double *const p = &radius; 指针、数据都为常量。
- c++中数组名实际上是一个常量指针。
动态内存
int* p = new int; //声明一个指针p,并赋予它一个整型值的动态内存地址
*p = 45; //将45赋予p指向的变量
p = new int; //将一个新的内存地址赋予p
上面保存值为45的内存空间将无法再次访问,因为已经没有指针指向它。这段内存无法访问,也无法释放,这就是所谓的内存泄漏。