2017-06-20 20 views
-10

私は考えていました Classname ob; は、C++でオブジェクトを作成できます なぜ必要なのですか Classname ob = new classname(); Javaの場合Javaではnew演算子が必要ですが、C++ではnew演算子が必要です

+7

は異なる言語であるためです。 – marcellothearcane

+1

JavascriptはJavaと同じではありません!そして、2つの非常に異なる言語を比較しています。その共通性は構文だけです。 –

+0

@Someprogrammerdude JavaとJavaScriptは構文の共通性を共有していません。 –

答えて

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 

同じ動作がポインタ今

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

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

とC++で行うことができ、C++でのClassname obj;は非常に異なっています。これはスタックにオブジェクトを作成します。単純に言えば、オブジェクトは基本タイプ(int、bool、floatなど)のように動作します。この動作はJavaでサポートされていません。

関連する問題