2017-06-20 50 views

回答

0

C++和Java有類似的語法,但並不總是意味着相同。

在Java中,所有對象都是引用,所以當你在做Classname obj;時,你正在創建一個對象的空引用,所以你需要給它指定一些東西。

Classname obj; 
//here obj is pointing to nothing. 

obj = new Classname(); 
//here obj is pointing to a new Classname object 

同樣的行爲可以用C++的指針

Classname* obj; 
//here obj is pointing to nothing. 

obj = new Classname(); 
//here obj is pointing to a new Classname object 

現在,Classname obj;在C++中有很大的不同來完成。它在堆棧中創建對象,簡而言之,該對象的行爲與基本類型(int,bool,float等)類似。這種行爲在Java中不受支持,因爲它是垃圾收集性質。

相關問題