c++,为何可以delete空指针,不可以delete野指针

c++,为什么可以delete空指针,不可以delete野指针
如题,想了好久没有说服自己。。不知道怎么和内存联系。。
------解决方案--------------------
因为delete可以判断指针是否是空指针,但没法判断是否是野指针
------解决方案--------------------
在实现上, 一块一块的内存是以链表的形式维护的, malloc的时候摘出一块内存来, 这块在内存头部写上这块内存的大小, 然后返回指向头部以后的内存的指针估程序使用.
free的时候, 从传进来的参数倒退一点去看块的大小, 然后再把这块内存添到空闲链表里.

空指针很好处理, 参数是0那不处理就是了.
但野指针程序没法处理, 因为他不能去在管理空闲内存的链表里一个一个地找, 看这块内存是不是已经空闲了. 这样对性能影响太大, 只能假设它就是未free的, 从当前指针往前一点的位置读的数据就是表示大小. 然后做free操作.