言語別比較

適当。
C/C++結構忘れてるなぁ・・・
書いてて、なんか微妙な感じのものもあるけど気にしないw

型・宣言

CC++JavaPHPJavaScriptC#備考
真偽値booleanboolbool
Booleanラップクラス
キャラ型charcharcharchar
Characterラップクラス
整数型bytebyte
Byteラップクラス
sbyte
shortshort
Shortラップクラス
unsigned shortunsigned shortushort
intintintintegerint
Integerラップクラス
unsigned intunsigned intuint
longlonglonglong
Longラップクラス
unsigned longunsigned longulong
実数型floatfloatfloatfloatfloat
Floatラップクラス
doubledoubledoubledouble
Doubleラップクラス
decimal
Decimal
文字列StringstringstringC++に関して言えばSTLのstringがある。*1
ポインタ型* 変数型* 変数Javaはポインタはない*2
参照&変数&変数Javaは参照渡しになる*3
列挙型enumenumenumJavaのenumはよく言えば拡張性が高い
構造体structstruct・Javaには構造体がない。
・C++の構造体にはメソッドを宣言できる
配列型[]型[]型[]arrayArray
null00nullNULLnull

演算

CC++JavaPHPJavaScriptC#備考
加算++++++
減算------
乗算******
余算//////
余り%%%%%%
インクリメント++++++++++++変数の前か後ろで演算のタイミングが変わります。
ディクリメント------------変数の前か後ろで演算のタイミングが変わります。
文字列結合strcatstrcat+.++Javaでは+演算子での文字列結合は推奨されない*4

代入演算子

CC++JavaPHPJavaScriptC#備考
代入演算子======
+=+=+=+=+=+=
.=
-=-=-=-=-=-=
*=*=*=*=*=*=
/=/=/=/=/=/=
%=%=%=%=%=%=
&=&=&=&=&=&=
|=|=|=|=|=|=
^=^=^=^=^=^=
<<=<<=<<=<<=<<=<<=
>>=>>=>>=>>=>>=>>=
>>>=

比較演算子

CC++JavaPHPJavaScriptC#備考
比較演算子============
===
<<<<<<
>>>>>>
<=<=<=<=<=<=
>=>=>=>=>=>=
!=!=!=!=!=!=
<>
!==
&&&&&&&&&&&&
||||||||||||
文字列比較strcmp()strcmp()equals()strcmp()====
CompareTo()

ビット演算

CC++JavaPHPJavaScriptC#備考
ビットシフト>>>>>>>>>>>>
<<<<<<<<<<<<
>>>>>>
論理和値1|値2値1|値2値1|値2値1|値2値1|値2値1|値2
論理積値1&値2値1&値2値1&値2値1&値2値1&値2値1&値2
排他的論理和値1^値2値1^値2値1^値2値1^値2値1^値2値1^値2
否定~値~値~値~値~値~値

生成と解放

CC++JavaPHPJavaScriptC#備考
確保malloc()new 型new 型new 型new 型・malloc()はC++でも使用可能。
 ただし、コンストラクタは呼び出されないので注意。
解放release()delete・release()はC++でも使用可能。
 ただし、デストラクタは呼び出されないので注意。
・JavaはGCにより自動解放



*1 STLをC++の一部としてみるのは議論が分かれるところですね
*2 Javaは参照渡しなので、ポインタ型はないが、ポインタ知ってないと痛い目を見るかも
*3 参照渡しなので、渡した先で値が変わるよ
*4 java言語規定の文字列結合を読むとわかる

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-11-24 (木) 18:50:12