关于C ++指针的问题

时间:2017-03-18 14:49:32

标签: c++ pointers

之间有什么区别
Class class("Test");

Class *class = new Class("Test");

哪一个更好?是否有差异?

1 个答案:

答案 0 :(得分:0)

Class class("Test");

此对象位于堆栈上。它将在返回函数后被销毁。通常, stack allcation比 heap 更快。但它的大小是有限的(几MB,取决于编译器)。

Class *class = new Class("Test");

此对象位于上。完成使用后,程序员应该delete heap 对大型对象很有用(例如,如果您的变量大于整个堆栈,它只能在上完成),和记忆保留。它的大小可以被视为整个存储空间。