cout__endl吧 关注:71贴子:1,019
  • 3回复贴,共1

笔记一则: 有了malloc/free, 为神马还要new/delete?

只看楼主收藏回复

malloc/free是C/C++的库函数.
new/delete是C++的运算符.
对于非内部数据类型的对象, 用malloc/free无法满足动态对象的要求. 因为对象在创建时同时要执行构造函数, 消亡之前要执行析构函数. 由于malloc/free是库函数而不是运算符, 不在编译器控制权限之内, 不能把执行构造函数和析构函数的任务加载到上面.
偶然翻书看到滴. 顺手写下来了.


IP属地:美国1楼2011-10-12 17:37回复
    还有 malloc出来的是自由存储区 new出来的是堆


    2楼2011-10-12 18:54
    回复
      soga


      3楼2011-10-12 19:25
      回复
        涨姿势了


        IP属地:四川4楼2012-05-25 13:03
        回复