小编Sar*_*fan的帖子

为什么没有在malloc中调用构造函数?

为什么构造/析构函数不是在使用所谓的mallocfree在C++中,而不是当我们使用newdelete,构造函数/析构函数被调用?为什么会这样?

c++

-1
推荐指数
2
解决办法
242
查看次数

如果没有创建malloc对象,那么为什么这个代码有效?

当我们在c ++中对类使用malloc/free时,不会创建对象.那为什么这段代码有效呢?如果未创建对象,则它不得提供下面提到的输出.

class Test
{
public:
    Test()
    {
        cout << "Test : ctor\r\n";
    }
    ~Test()
    {
        cout << "Test : dtor\r\n";
    }
    void Hello()
    {
        cout << "Test : Hello World\r\n";
    }
};

int main()
{

    cout << "2\n";
    Test* t2 = (Test*) malloc(sizeof Test);
    t2->Hello();
    free(t2);

    return 0;
}


OUTPUT:
Hello World
Run Code Online (Sandbox Code Playgroud)

c++

-5
推荐指数
1
解决办法
139
查看次数

标签 统计

c++ ×2