malloc 申请内存。一般C语言使用,C++用的很少
new 申请内存,然后调用对象的构造函数,C++使用
如果已有一开内存 buf,在buf new一个对象A
classA
{
……
};
A* pA = new(buf)A();
就不会向系统申请内存,使用使用buf内存。
本文探讨了C语言中的malloc与C++的new操作符在内存分配上的差异。malloc仅分配内存,而不调用构造函数,而new不仅分配内存,还会执行对象的构造过程。此外,通过示例展示了如何在已有内存buf上使用placement new创建对象A,这种做法避免了额外的内存申请。
malloc 申请内存。一般C语言使用,C++用的很少
new 申请内存,然后调用对象的构造函数,C++使用
如果已有一开内存 buf,在buf new一个对象A
classA
{
……
};
A* pA = new(buf)A();
就不会向系统申请内存,使用使用buf内存。
897
750
860
1886
2874

被折叠的 条评论
为什么被折叠?