C++ 关于C++;指针

C++ 关于C++;指针,c++,pointers,C++,Pointers,两者的区别是什么 Class class("Test"); 及 哪一个更好?有什么区别吗 Class class("Test"); 此对象在堆栈上。它将在函数返回后被销毁。通常情况下,堆栈分配比堆快。但它的大小是有限的(几兆字节,取决于编译器) 此对象位于堆上。使用完毕后,程序员应deleteed。heap对于大型对象(例如,如果变量大于整个堆栈,则只能在heap上进行分配)和内存保留非常有用。它的大小可以看作是整个内存空间。这是针对C的,但应该几乎相同:它是堆栈还是堆分配。“哪一个更好?”

两者的区别是什么

Class class("Test");

哪一个更好?有什么区别吗

Class class("Test");
此对象在堆栈上。它将在函数返回后被销毁。通常情况下,堆栈分配比堆快。但它的大小是有限的(几兆字节,取决于编译器)


此对象位于堆上。使用完毕后,程序员应
delete
ed。heap对于大型对象(例如,如果变量大于整个堆栈,则只能在heap上进行分配)和内存保留非常有用。它的大小可以看作是整个内存空间。

这是针对C的,但应该几乎相同:它是堆栈还是堆分配。“哪一个更好?”这取决于……仔细阅读。相关:@Arash:这是自动分配还是动态分配。读他们。你用哪本书来学习C++?这是该语言的基础,应该在前面的章节中解释。除非给出具体说明,否则最好使用自动和动态存储。栈和堆是迄今为止最常见的自动存储和动态存储的实现,但它们不是唯一的实现,并且C++标准被用来允许遵循定义的规则的任何实现。值得编辑注意,自动和动态分配具有不同的生存规则。“临时存储”,我同意——请不要把这种令人困惑和过时的“堆栈与堆”的胡说八道传播给新一代人!是的。我刚刚发现了这一点。
Class class("Test");
Class *class = new Class("Test");