理论上我可以说
free(ptr);
free(ptr); 这是内存损坏,因为我们要释放已经释放的内存。
但是如果
free(ptr);
ptr=NULL;
free(ptr); 由于操作系统将以不确定的方式运行,因此我无法对此进行实际的理论分析。无论我在做什么,这是不是内存损坏?
释放NULL指针是否有效?
delete NULL在C ++中无效。delete可以应用于具体类型的空指针值,但不能应用于NULL。delete (int*) NULL是合法的,但不是delete NULL。
                ptr指向内存,而您没有调用free它,则内存将泄漏。将其设置为NULL只会失去对内存的处理能力并泄漏。如果ptr 碰巧是NULL,则调用free为空操作。
                free(ptr)使用ptr = NULL。没有人这么说。