用新的c ++动态分配

时间:2014-01-06 12:20:26

标签: c++ dynamic

这两个分配有什么区别?

CPolygon trgl;
CPolygon * ppoly2 = &trgl;

CPolygon * ppoly2 = new CPolygon();

1 个答案:

答案 0 :(得分:2)

new在堆上创建一个动态对象,而第一个语法在全局内存部分或堆栈上创建对象。

因此,如果在堆栈上分配了对象,则在对象超出范围时将自动删除该对象。如果对象是全局的,它将保持该过程的生命周期。

分配了new的对象必须使用delete删除。