struct和newstruct有什么区别? 在C++中,我已经看到了创建一个新结构的2种方法:

struct和newstruct有什么区别? 在C++中,我已经看到了创建一个新结构的2种方法:,c++,C++,一, 二, 这两种代码的区别和含义是什么 谢谢简而言之,区别在于: StructA声明一个作为StructA的变量。 StructA*a声明指向StructA的指针 影响: 变量StructA is可以立即用于存储数据。 指针StructA*必须设置为指向实际结构,然后才能用于存储数据 当前块退出时,变量StructA将自动解除分配。 当当前块退出时,指针StructA*将被解除分配,但在调用delete之前,它所指向的用new创建的数据不会消失。如果从未调用delete,则程序将出现内存泄漏

一,

二,

这两种代码的区别和含义是什么


谢谢

简而言之,区别在于: StructA声明一个作为StructA的变量。 StructA*a声明指向StructA的指针

影响:

变量StructA is可以立即用于存储数据。 指针StructA*必须设置为指向实际结构,然后才能用于存储数据

当前块退出时,变量StructA将自动解除分配。
当当前块退出时,指针StructA*将被解除分配,但在调用delete之前,它所指向的用new创建的数据不会消失。如果从未调用delete,则程序将出现内存泄漏

第二个是指向结构的指针;第一个是直接变量声明。您认为区别是什么?我要求了解如何/回答什么,因为你的回答会给我一个等级。第二个要求你现在管理你刚才分配的内容。可能重复感谢Chris&harmic。不,感谢那些不愿意给出理由的下层选民!
StructA a;
a.member1 = ...;
foo(&a); // void foo(StructA* a);
StructA* a = new StructA;
a->member1 = ...;
foo(a);