malloc是否创建类的新实例?

这个问题在这里已经有了答案:

  • new / delete和malloc / free有什么区别? 15个答案

  • 编译器会将对成员函数的调用转换为对静态函数的调用,并暗示this参数指向该对象。 这意味着对象的内容(有效或无效)与是否进行呼叫无关。

    如果该方法是虚拟的,这将改变,因为vtable指针必须是有效的。 构造函数将初始化vtable指针。 malloc不会调用构造函数,它甚至不知道构造函数是什么 - 它是C的剩余行李。

    请注意,这不是标准规定的,而是通常如何实施的。


    您可以访问分配但未初始化的内存,但无法对内容进行有效的假设。 成员函数独立存在的物体,它们只是调用this指向未初始化的位置。

    链接地址: http://www.djcxy.com/p/13777.html

    上一篇: Does malloc create a new instance of the class or not?

    下一篇: Why constructor is not called in malloc?