2017-06-20 18 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中不受支持,因为它是垃圾收集性质。

相关问题