malloc/free 不会调用类的构造/析构函数
Posted jobshunter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了malloc/free 不会调用类的构造/析构函数相关的知识,希望对你有一定的参考价值。
1 #include <iostream> 2 #include <cstdlib> 3 using namespace std; 4 5 class A 6 7 public: 8 A() 9 10 cout << "A"; 11 12 ~A() 13 14 cout << "~A"; 15 16 ; 17 18 int main() 19 20 void *p = malloc(sizeof(A)); 21 22 A *a = new(p) A; 23 24 free(p); 25 return 0; 26
以上代码的输出结果是A
malloc单纯地申请一块内存,不会调用类的构造函数
同样,free释放那块内存,不会调用类的析构函数
至于new的用法,待续
以上是关于malloc/free 不会调用类的构造/析构函数的主要内容,如果未能解决你的问题,请参考以下文章