- 内存泄漏: 动态申请的内存空间没有正常释放,但也不能继续使用;
char *a = new char('a');
char *b = new char('b');
a = b;
‘a’的空间未被释放,也无法访问,形成内存泄漏;
(基类的析构函数应设置为virtual,否则基类指针指向子类对象,调用基类析构时不会调用子类的析构函数,而造成内存泄漏时,(virtual的动态绑定,其他是静态绑定))
2. 野指针
a. 指针变量没有初始化(值不定时应初始化为NULL);
b. 指针说指向的对象被释放,指针没有被置为null;
c. 指针操作超过了变量的作用范围(方法返回了一个指向方法内局部变量的指针)。