【面试】New 和 Malloc 区别

       当我们去面试的时候总会遇到笔试里面会有这个问题,New 和 Malloc 有什么不同?


1: 最大的区别在于:New 是运算符,可以重载。Malloc是函数,可以重写(覆盖)。

       New / Delete 是 C++ 里面的运算符。 Malloc 和 Free是 C++ / C语言标准库函数。他们都是用于动态分配内存和释放内存

       说到重载那么问题来了。什么是重载?

       重载:一般用于在一个类内实现若干重载的方法,这些方法的名称相同而参数不同。

 

       重写(覆盖):一般是用于子类在继承父类是,重写(重新实现)父类中的方法。

       重写(覆盖)的规则:

       1:重写方法的参数列表必须完全与被重写的方法相同。

       2:重写方法的访问修饰符一定要大于或等于被重写方法的访问修饰符(Public > Projected > Default > Private )

       3:重写方法的返回值必须相同

       4:抛出异常必须一致

       5:被重写的方法不能私有的(Private),否则在其子类中只是重新定义了一个方法,并没有实现对其重写

       6:静态方法不能重写为非静态的方法


 

2: New / Delete 可执行构造函数和析构函数,Malloc 和 Fr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值