在c++;? < C++中的几种内存分配方法有什么不同?

在c++;? < C++中的几种内存分配方法有什么不同?,c++,C++,像这样的新,马洛克等等 thx分配未初始化的内存。Malloc不是类型安全的 new通过调用构造函数初始化分配的内存。另外,新关键字是类型安全 delete用于从堆中释放内存 注释:-< /Stord> 新< /COD>和Dele> 是C++特定的特性。p> 除此之外,还有很多你可能想看的地方。这里有一点是 [16.4]为什么我应该使用新的而不是可靠的旧malloc() 常见问题解答:新建/删除调用构造函数/析构函数;新型是安全的, 马洛克不是;new可以被类重写 FQA:FAQ中提到的新产品

像这样的新,马洛克等等


thx分配未初始化的内存。Malloc不是
类型安全的

new通过调用构造函数初始化分配的内存。另外,新关键字是
类型安全

delete用于从堆中释放内存

<强>注释:-< /Stord> <代码>新< /COD>和Dele> <代码>是C++特定的特性。p> 除此之外,还有很多你可能想看的地方。这里有一点是

[16.4]为什么我应该使用新的而不是可靠的旧malloc()

常见问题解答:新建/删除调用构造函数/析构函数;新型是安全的, 马洛克不是;new可以被类重写

FQA:FAQ中提到的新产品的优点不是优点,因为 构造函数、析构函数和运算符重载都是垃圾(请参阅 没有垃圾收集时会发生什么情况?)以及 这里的安全问题非常小(通常你必须将其释放)* 由malloc返回到右指针类型,以将其分配给类型化 指针变量,这可能很烦人,但远不是“不安全的”)

哦,使用可靠的malloc使使用 同样值得信赖的老realloc。可惜我们没有一个闪亮的新 接线员续费什么的

尽管如此,新技术还不足以证明偏离公共技术的合理性 一种语言中使用的风格,即使是C++语言。在里面 特别是,具有非平凡构造函数的类在 如果您只是简单地对对象进行malloc,则会出现致命的方法。那为什么不使用新的呢 整个代码?人们很少让新操作员超负荷工作,所以 可能不会太妨碍你。如果他们真的超载了, 你可以随时让他们停下来


关于每一个的信息都很容易找到,以及混合它们时会发生什么。更准确地说,
new
default初始化或value初始化它,甚至使用一个初始值,这取决于您如何使用它。不过,这不是唯一的区别,分配方法比这两种方法更多。为什么malloc不是类型安全的?