C++常见面试题30道.pdfVIP

  • 11
  • 0
  • 约1.03万字
  • 约 8页
  • 2023-06-27 发布于湖北
  • 举报
C++常常见见⾯⾯试试题题30道道 1.new、、delete、、malloc、、free关关系系 delete会调⽤对象的析构函数,和new对应free只会释放内存,new调⽤构造函数。malloc与free是C++/C ⾔的标准库函数,new/delete是 C++的运算符。它们都可⽤于申请动态内存和释放内存。对于⾮内部数据类型的对象⽽⾔,光⽤maloc/free⽆法满⾜动态对象的要求。对象 在创建的同时要⾃动执⾏构造函数,对象在消亡之前要⾃动执⾏析构函数。由于malloc/free是库函数⽽不是运算符,不在编译器控制权限之 内,不能够把执⾏构造函数和析构函数的任务强加于malloc/free。因此C++ ⾔需要⼀个能完成动态内存分配和初始化⼯作的运算符new , 以及⼀个能完成清理与释放内存⼯作的运算符delete。注意new/delete不是库函数。 2.delete与与 delete []区区别别 delete只会调⽤⼀次析构函数,⽽delete[]会调⽤每⼀个成员的析构函数。在More Effective C++中有更为详细的解释:“当delete操作符⽤于 数组时,它为每个数组元素调⽤析构函数,然后调⽤opera

文档评论(0)

1亿VIP精品文档

相关文档