无用单元:程序中存在的一部分资源,但是程序中却不可再对其引用;不会立即造成伤害,通过慢慢消耗内存导致崩溃。
eg. char *p = new a[1];
char *q = new a[1];
p = q;
此时p的内存为无用单元,为了避免,我们要定期进行回收;
悬挂引用:但指针所指向的内存被删除,但我们仍认为有效。
eg. char *p;
char *q;
p = new a[1];
p = q;
delete[] p;
p = 0;
此时q为悬挂引用。
Lua有自动回收垃圾,但是我们传递函数时也要在自身销毁前把所有的单元进行回收。