zoukankan      html  css  js  c++  java
  • malloc/free 与 new/delete的区别

      区别:

        1、malloc与free是C/C++语言的标准库函数,new/delete是C++的运算符;

        2、new自动计算需要分配的空间,而malloc需要手工计算字节数;

        3、new是类型安全的,而malloc不是;比如:

               int* p = new float[2];//编译错误;

               int* p = (int*)malloc(2*sizeof(double));//编译时无法指出错误

        4、new调用operator new分配足够的空间,并调用相关对象的构造函数,而malloc不能调用构造函数;delete将调用该实例的析构函数,然后调用类的operator delete,以释放该实例占用的空间,而free不能调用析构函数;

        5、malloc/free需要库文件支持,new/delete则不需要。

  • 相关阅读:
    docker-compose
    获取时区
    maven插件
    jquery_ui_api中文
    sax xpath读取xml字符串
    Ant打包
    [转]html5音乐播放器
    javax mail网址
    vbscript调用fso
    fso查找被删除的文件
  • 原文地址:https://www.cnblogs.com/nobbyoucanyouup/p/4616028.html
Copyright © 2011-2022 走看看