Object var和Object *之间的区别var = new Object() [英] Difference between Object var and Object* var = new Object()

查看:276
本文介绍了Object var和Object *之间的区别var = new Object()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个名为Object的类,创建一个像这样的实例有什么区别:

If I have a class named Object, what's the difference between creating an instance just like that:

Object var;

和:

Object* var = new Object();

推荐答案

这里你在堆栈上创建var:

Here you are creating var on the stack:

Object var;

所以在上面的例子中, var 实际对象。

So in the above, var is the actual object.

这里您在堆上创建var(也称为动态分配):

Here you are creating var on the heap (also called dynamic allocation):

Object* var = new Object()

在堆上创建一个对象时,你必须调用 delete 就可以了。另外 var 实际上是一个指针,它保存类型为 Object 的对象的内存地址。在内存地址存在实际对象。

When creating an object on the heap you must call delete on it when you're done using it. Also var is actually a pointer which holds the memory address of an object of type Object. At the memory address exists the actual object.

有关详情:查看我的答案在这里什么和堆栈和堆

这篇关于Object var和Object *之间的区别var = new Object()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆