2014-10-01 54 views
0

来自Java,我倾向于在C++中始终使用new关键字,但这不是危险吗?我知道堆分配和什么,但在C++中,实际上是否需要new从Java到C++和新运营商

我想我的问题是我如何初始化一个对象没有新的关键字?

class Foo { 
    int bar; 
} 

鉴于这个类,这是使用new关键字实例吧:

Foo aFoo = new Foo; 

这是实例化Foo对象没有新的正确的方法是什么?

Foo aFoo = Foo; 
+0

在编译时不知道某物的大小。此外,使用智能指针(C++ 11) – AndyG 2014-10-01 16:47:14

+3

忘记了解Java的所有信息。一切。把C++看作是完全不同的和不相关的,因为,你知道它是_is_。 – 2014-10-01 17:21:36

+0

但事实并非如此。 Java语法基于C++语法,Java旨在像C++一样,但是解决一些关于C++的令人烦恼的事情,比如指针和可移植性。我的问题现在纯粹是语法的,只和C++有关。 – 2014-10-01 17:27:48

回答

0

如果创建新的对象,你就可以从你的应用程序的每个代码访问该对象,但是如果你不删除它,它会使用内存。 您也可以创建没有新建的对象(不使用指针),但在超出范围时将被删除。