malloc 和new
时间: 2024-04-11 19:24:11 浏览: 103
Malloc和new区别
malloc和new都是用于在程序运行时动态分配内存的方法。
1. malloc是C语言中的函数,用于分配指定大小的内存块。它的函数原型为:void* malloc(size_t size),其中size_t是一个无符号整数类型,表示要分配的内存块的字节数。malloc函数返回一个指向分配内存块的指针,如果分配失败则返回NULL。需要注意的是,malloc函数只负责分配内存,并不会调用构造函数初始化对象。
2. new是C++中的运算符,用于在堆上动态分配内存并调用构造函数初始化对象。new的语法形式为:new 类型 或者 new 类型[大小]。例如,new int会在堆上分配一个int类型的内存,并调用int的默认构造函数进行初始化。new操作符返回一个指向分配内存的指针,如果分配失败则抛出std::bad_alloc异常。
阅读全文