nullptr and Dynamic Memory Allocation (空指针和动态内存分配)
1. 空指针
1.1. 0带来的二义性问题
- C++03中,空指针使用“0”来表示。0既是一个常量整数,也是一个常量空指针。
- C语言中,空指针使用(void *)0来表示
- 有时候,用“NULL”来表示空指针(一种可能的实现方式是#define NULL 0)
1.2. C++标准化委员会希望“空指针”是一个确定的东
C++11中引入保留字“nullptr”作为空指针
2. Dynamic memory management: Allocate/Release (动态内存管理:分配/释放)
2.1. C++中通过运算符new申请动态内存
new <类型名> (初值) ; //申请一个变量的空间
new <类型名>[常量表达式] ; //申请数组
如果申请成功,返回指定类型内存的地址;
如果申请失败,抛出异常,或者返回空指针(nullptr)。(C++11)
2.2. 动态内存使用完毕后,要用delete运算符来释放。
de