delete p ; //这个不会调用析造函数

#include <stdio.h>
#include "base_util.h"函数

class A
{
public:
    A()
    {
        printf("A();\n");
    }
    ~A()
    {
        printf("~A();\n");
    }
};io

void *create_obj()
{
    A *a = new A();
    return a;
}
void free_obj(void *p)
{
    if (p)
    {
        delete p ; //这个不会调用析造函数
        //delete (A*)p; //这个会调用析造函数
    }
}class

int main(int argc, char *argv[])
{
    void *p = create_obj();
    free_obj(p);
    return 0;
}
 gc

相关文章
相关标签/搜索