2014-10-01 53 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

如果創建新的對象,你就可以從你的應用程序的每個代碼訪問該對象,但是如果你不刪除它,它會使用內存。 您也可以創建沒有新建的對象(不使用指針),但在超出範圍時將被刪除。