何时以及为什么我们必须使用malloc?



我只想知道我们何时以及为什么必须使用malloc并分配足够的内存。

我应该在目标指针中使用还是什么?

在C++中,不鼓励使用malloc/free。您应该改用new/delete,它分配一个内存块初始化它(默认构造(。从 C++11 开始,即使是new/delete也应该避免,您应该改用像std::unique_ptr这样的智能指针。但是,malloc对于原始缓冲区和内存池可能仍然有用,但仅在每个周期都很重要的大规模应用程序中有用。对于像您这样的正常情况(我想(,甚至不要考虑它。

你不应该在C++中使用malloc。改用new/deletenew[]/delete[]或使用智能指针,如std::shared_ptr<T>()

malloc不调用对象构造函数,并且必须使用free(不调用对象析构函数(撤消malloc。最重要的是,malloc不是类型安全的,因为它返回一个void*。除非您有充分的理由,否则请远离malloc

相关内容

  • 没有找到相关文章

最新更新