C++动态分配新方法

C++动态分配新方法,c++,dynamic,C++,Dynamic,这两种分配有什么区别 CPolygon trgl; CPolygon * ppoly2 = &trgl; 及 new在堆上创建动态对象,而第一个语法在全局内存部分或堆栈上创建对象 因此,如果对象是在堆栈上分配的,那么如果对象超出范围,它将被自动删除。如果对象是全局的,它将在进程的整个过程中保持不变 分配了new的对象必须用delete删除。您应该删除第二个,但不能删除第一个。一个是默认初始化的,一个是值初始化的。@ADRINO True。更妙的是,你可以在这些评论的同时附上一个指向此处

这两种分配有什么区别

CPolygon trgl;
CPolygon * ppoly2 = &trgl;

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

因此,如果对象是在堆栈上分配的,那么如果对象超出范围,它将被自动删除。如果对象是全局的,它将在进程的整个过程中保持不变


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

您应该删除第二个,但不能删除第一个。一个是默认初始化的,一个是值初始化的。@ADRINO True。更妙的是,你可以在这些评论的同时附上一个指向此处的链接。@Angew我将那篇文章添加到了我的收藏夹中,下次我将使用它!
CPolygon * ppoly2 = new CPolygon();