【发布时间】:2013-02-25 21:27:35
【问题描述】:
首先我希望这不是重复的。我是一名java程序员,现在改用c++。 在java中你可以这样做
Object obj = new Object();
据我了解,您可以在 c++ 中做同样的事情(查看 java 中的 obj 如何仅作为参考保存在变量中),如下所示:
Object* obj = new Object();
我的问题是:这个对象能活多久?它和指针一样长吗?另外,这可能会做一个对象的成员初始化吗?如果是这样,只要将指针保存为成员变量(直到您存储它的对象被销毁),该对象就会存在吗?
抱歉有任何错别字。有一个美好的一天/晚上!
【问题讨论】:
-
c++中没有
garbage collection,需要自己释放内存 -
Srry for any typos.- 这个错字是故意的吗? -
尽管在某些地方有相似的语法,但 C++ 和 Java 在处理该主题(和相关问题)的方法上非常不同。两个数据模型的比较将变成对两者的完整描述。
-
@C.Lang 或者更好的是,使用智能指针。
-
如果您只需要当前范围的对象,只需 du
Object obj;。这对于一个简单的对象来说,速度要快几个数量级。对象在作用域结束时自动销毁,并自动调用其析构函数。
标签: java c++ object pointers member-initialization