解析:
mallo/free是C/C++的标准库函数,new/delete是C++的运算符。
对于非内部数据类型的对象而言,光用malloc/free无法满足对象的要求,对象在创建的同时会自动调用构造函数,对象在消亡之前会自动执行析构函数。由于malloc/free是库函数而不是操作符,不在编一起控制范围内,不能把执行构造函数和析构函数的任务强加给malloc/free,此时只能使用new/delete。
解析:
mallo/free是C/C++的标准库函数,new/delete是C++的运算符。
对于非内部数据类型的对象而言,光用malloc/free无法满足对象的要求,对象在创建的同时会自动调用构造函数,对象在消亡之前会自动执行析构函数。由于malloc/free是库函数而不是操作符,不在编一起控制范围内,不能把执行构造函数和析构函数的任务强加给malloc/free,此时只能使用new/delete。