什么时候以及为什么我们必须使用 malloc?
When and why we must use the malloc?
我只想知道什么时候以及为什么我们必须使用 malloc 并分配足够的内存。
我应该使用目标指针还是什么?
在 C++ 中,不鼓励使用 malloc
/free
。您应该改用 new
/delete
,它分配一块内存 AND 对其进行初始化(默认构造)。从 C++11 开始,甚至 new
/delete
都应该避免,你应该使用像 std::unique_ptr
这样的智能指针。然而,malloc
可能仍然对原始缓冲区和内存池有用,但仅适用于每个周期都很重要的大规模应用程序。对于像你这样的正常情况(我想),想都别想。
你不应该在 C++ 中使用 malloc。使用 new
/delete
或 new[]
/delete[]
或使用像 std::shared_ptr<T>()
.
这样的智能指针
malloc
不调用对象构造函数,并且 malloc
必须用 free
撤消(不调用对象析构函数)。最重要的是,malloc
不是类型安全的,因为它 returns 和 void*
。除非你有充分的理由,否则请远离 malloc
.
我只想知道什么时候以及为什么我们必须使用 malloc 并分配足够的内存。
我应该使用目标指针还是什么?
在 C++ 中,不鼓励使用 malloc
/free
。您应该改用 new
/delete
,它分配一块内存 AND 对其进行初始化(默认构造)。从 C++11 开始,甚至 new
/delete
都应该避免,你应该使用像 std::unique_ptr
这样的智能指针。然而,malloc
可能仍然对原始缓冲区和内存池有用,但仅适用于每个周期都很重要的大规模应用程序。对于像你这样的正常情况(我想),想都别想。
你不应该在 C++ 中使用 malloc。使用 new
/delete
或 new[]
/delete[]
或使用像 std::shared_ptr<T>()
.
malloc
不调用对象构造函数,并且 malloc
必须用 free
撤消(不调用对象析构函数)。最重要的是,malloc
不是类型安全的,因为它 returns 和 void*
。除非你有充分的理由,否则请远离 malloc
.