当前位置: 首页 > news >正文

C++基础面试题:new和malloc的区别

面试题:new和malloc的区别或new和malloc的异同       

相同点:

        1、new/delete和malloc/free它们都是内存申请和释放的函数。

        2、new/delete和malloc/free 都要一一对应,调用了多少次new 就需要调用多少次delete;同

              理调用多少次malloc就需要调用多少次free。


不同点:

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

       2、new/delete申请类对象时,并自动调用构造函数,对象生命周期完成后,自动调用析构函

             数;malloc/free不会,因为只是简单的对内存申请和销毁操作。

       3、new/delete和malloc/free,C++可以调用。因为它们不是C的库函数,所以C无法调用它,

             C只能调用malloc/free。

       4、返回类型不同,new出的对象返回的是对象指针,而malloc的是void*类型

       5、new 申请对象时可以不需要写明申请内存大小,由程序自己计算,malloc 需要明确写出申

             请内 存的length 长度。

       6、申请失败返回结果不一样,malloc内存申请失败是返回null,而new申请失败抛出异常


http://www.lryc.cn/news/882.html

相关文章:

  • WebDAV之葫芦儿·派盘+KMPlayer
  • 杨浦区人工智能及大数据(云计算)企业登记工作(2023年度)的通知
  • 2023年去培训机构学前端还是Java?
  • 【React】组件事件
  • 黑/白盒测试说明
  • 车道线检测-Eigenlanes 论文学习笔记
  • docker run mysql -e 的环境变量 Environment Variables
  • 第17章 MongoDB 条件操作符教程
  • 电子技术——共源共栅放大器
  • 《MySQL学习》 事务隔离 与 MVCC
  • html(二)基础标签
  • leetcode刷题---递归思想
  • ThreadLocal 源码级别详解
  • 训练营day17
  • Nodejs原型链污染
  • 【Vue3】element-plus中el-tree的递归处理赋值回显问题
  • C语言---宏
  • 算法导论—路径算法总结
  • 程序环境--翻译+执行
  • 微信小程序内部那些事
  • 这是从零在独自开开发,将是副业赚钱最好的平台!
  • Spring MVC 之获取参数(对象、JSON格式数据、URL地址参数、文件、Cookie)
  • 永磁同步电机中BEMF电阻的作用
  • JAVA练习45-二叉树的层序遍历
  • 超高精度PID调节器的特殊功能(3)——变送输出(转发)功能及其应用
  • 【C++】nullptr C++中的空指针(C++11)
  • 笔试题-2023-大疆-数字IC设计【纯净题目版】
  • Python dict字典方法完全攻略(全)
  • 用“AI“挑选一件智慧礼物
  • 【Spark分布式内存计算框架——Spark Core】4. RDD函数(下) 重分区函数、聚合函数