码迷,mamicode.com
首页 > 其他好文 > 详细

malloc/free 不会调用类的构造/析构函数

时间:2019-06-04 22:33:57      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:构造   color   释放   return   cst   void   turn   class   函数   

 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 不会调用类的构造/析构函数

标签:构造   color   释放   return   cst   void   turn   class   函数   

原文地址:https://www.cnblogs.com/jobshunter/p/10976308.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!