C++
wuaiwuchen
这个作者很懒,什么都没留下…
展开
-
new和malloc的区别
new和malloc的区别new/delete是运算符,malloc/delete是库函数new申请内存时无需指定内存块的大小,malloc申请内存时需要指定内存的大小new/delete的返回值是有具体类型的指针,malloc/delete的返回值是void*类型指针,需要强制类型转换new/delete可以调用对象的构造函数和析构函数,后者只能动态申请和释放内存new/delete...原创 2019-07-08 11:50:50 · 106 阅读 · 0 评论 -
构造函数和析构函数能否是虚函数
构造函数不能是析构函数,析构函数可以是虚函数构造函数不能是虚函数,因为虚函数是基于对象的,构造函数是用来产生对象的,若构造函数是虚函数,则需要对象来调用,但是此时构造函数没有执行,就没有对象存在,产生矛盾,所以构造函数不能是虚函数。析构函数是虚函数,因为若有父类指针指向子类对象存在,需要析构的是子类对象,但父类析构函数不是虚函数,则只析构了父类,造成子类对象没有及时释放,引起内存泄漏。...原创 2019-07-08 12:07:58 · 4450 阅读 · 0 评论