gpt4 book ai didi

c++ - 使用 malloc 与 new

转载 作者:行者123 更新时间:2023-11-30 01:30:30 26 4
gpt4 key购买 nike

我使用 pointer = new type[size] 有一段时间了,最​​近才发现 malloc

mallocnew 在技术上有区别吗?如果是这样,使用一个比另一个有什么优势?

最佳答案

malloc 是一个函数调用,在本例中是一个表达式。

区别在于; new 将分配内存并使用默认构造函数构造该数组的所有元素。 malloc 只是返回一大块未初始化的内存。

此外,::operator new 将抛出 std::bad_alloc 或一个新的处理程序(如果已注册)。

标准库定义了一个 new,它接受一个进一步的参数 nothrow,如果分配失败则返回一个 0 指针。

int *x = new(std::nothrow) int[20]; // include <new>, return 0 on failure

关于c++ - 使用 malloc 与 new,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4390356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com