malloc | new | |
---|---|---|
分配失败时 | NULL | 抛出异常 |
分配内存大小 | 显示指定 | 自动计算 |
扩张 | realloc | 无法 |
重载 | 无法 | 可以 |
构造函数 | 不调用 | 会调用 |
c++最好使用new,而不是malloc,特别是为对象分配空间。malloc是c的库函数,它仅仅只有分配空间的作用,没有对象概念,不会调用构造函数,用它初始化对象会有野指针等问题。
malloc | new | |
---|---|---|
分配失败时 | NULL | 抛出异常 |
分配内存大小 | 显示指定 | 自动计算 |
扩张 | realloc | 无法 |
重载 | 无法 | 可以 |
构造函数 | 不调用 | 会调用 |
c++最好使用new,而不是malloc,特别是为对象分配空间。malloc是c的库函数,它仅仅只有分配空间的作用,没有对象概念,不会调用构造函数,用它初始化对象会有野指针等问题。