技術資料/言語仕様比較表
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*C++/Java/C# [#t1af8fff]
それぞれ、似て非なる仕様やキーワードが存在するため、その...
仕様の詳細や具体的なコーディング方法等は、別途書籍等を参...
|>|CENTER:言語仕様|>|>|CENTER:言語別比較|h
|~|~|CENTER:C++|CENTER:Java|CENTER:C#|h
|全般|エントリポイント|main()&br;WinMain()&br;DllMain()|m...
|~|代表的なライブラリ|C標準ライブラリ&br;STL&br;MFC/ATL/W...
|~|プリプロセッサ|あり|なし|あり|
|~|代表的なコンパイラのコマンド|cl&br;aaa|javac|csc|
|~|実行バイナリ|機械語|JVM用のバイトコード|.NET Framework...
|~|必須の実行環境|なし|JRE|.NET Framework|
|~|コメントドキュメンテーション|なし&br;※doxegen などサー...
|ソースコード|大文字/小文字の区別|区別する|区別する|区別...
|~|Unicode/非Unicode|非Unicode|Unicode|Unicode|
|プリミティブ型|型なし|void|void|void|
|~|論理型|bool|boolean|bool|
|~|符号付き整数型|1Byte : signed char&br;2Byte : short, i...
|~|符号なし整数型|1Byte : unsigned char&br;2Byte : unsign...
|~|浮動小数点型|4Byte : float&br;8Byte : double|4Byte : f...
|~|10進小数型|なし|なし|decimal|
|~|文字型|1Byte : char&br;2Byte : wchar_t |2Byte : char|2...
|~|文字列型|なし&br;※組込型ではないが、ライブラリによって...
|~|プリミティブ型をオブジェクトと見なすか|見なさない。|見...
|リテラル|整数値の表記法|なし : 10進数&br;0~ : 8進数&br;...
|~|小数値の表記法|X.X : 通常表記&br;X.Xe±X : 指数表記&br;...
|~|整数値のサフィックス|なし : signed int&br;U : unsigned...
|~|小数値のサフィックス|なし : double&br;F : float&br;L :...
|~|文字| 'A'| 'A'| 'A'|
|~|文字列|"~"|"~"|"~"|
|~|文字列(非エスケープ)|なし|なし|@"~"|
|~|ヌル|NULL&br;※実体は、0や、(void *)0|null|null|
|演算子|順次|,|なし|,|
|~|式優先|()|()|()|
|~|符号|+&br;-|+&br;-|+&br;-|
|~|算術|+&br;-&br;*&br;/&br;%|+&br;-&br;*&br;/&br;%|+&br;...
|~|代入|=&br;+=&br;-=&br;*=&br;/=&br;%=&br;<<=&br;>>=&br;...
|~|インクリメント/デクリメント&br;(前置/後置)|++&br;--|++...
|~|比較|==&br;!=&br;<&br;>&br;<=&br;>=|==&br;!=&br;<&br;>...
|~|論理(ショートサーキット((論理式の一部を評価した段階で...
|~|論理(非ショートサーキット評価)|なし|&&br;||&&br...
|~|否定|!|!|!|
|~|ビット|&&br;|&br;^|&&br;|&br;^|&&br;|&b...
|~|シフト|<<&br;>>&br;※算術/論理は既定されていない|<<&br;...
|~|条件(三項演算)|?:|?:|?:|
|~|型変換(キャスト)|()&br;dynamic_cast<>&br;static_cast<>...
|~|関数呼び出し|()|()|()|
|~|添字|[]|[]|[]|
|~|参照|*&br;&|なし|*|
|~|メモリ割当|new&br;delete&br;new[]&br;delete[]|new|new|
|~|sizeof|sizeof|なし|sizeof|
|~|メンバアクセス|.&br;->&br;.*&br;->*|.|.|
|~|スコープ解決|::&br;::*|.|.|
|~|型検査|なし|instanceof|is&br;as|
|~|実行時型情報|typeid|なし|typeof|
|~|その他|なし|なし|checked&br;unchecked|
|型修飾子|定数値|const&br;#define|final|const&br;#define|
|配列|一次元配列|[]|[]|[]|
|~|多次元配列|[][]|なし&br;※ジャグ配列を利用する必要あり|...
|~|配列をオブジェクトとして扱うか|扱わない|扱う&br;length...
|制御文|条件分岐|if-else&br;switch-case|if-else&br;switch...
|~|ループ|for&br;while&br;do-while|for&br;while&br;do-whi...
|~|ループ(for-each)|なし|for( : )|foreach|
|~|ジャンプ|break&br;continue&br;goto&br;return|break&br;...
|~|例外|try-catch-finally&br;throw|try-catch-finally&br;t...
|メモリ管理|ガーベージコレクション(GC)|なし|あり|あり&br;...
|~|ポインタ操作|使用可|なし|unsafeコードにより使用可|
|~|参照型|&演算子により明示的に使用する|デフォルトで参照...
|関数|デフォルト引数|あり&br;オーバーロードの際、関数のシ...
|~|名前付き引数|なし|なし|あり|
|~|可変長引数|あり&br;...キーワードと、stdarg.hを使用。|...
|~|関数ポインタ(コールバック、イベントの実装)|関数ポイ...
|OOP|構造体|struct&br;メンバにデフォルトで適用されるアク...
|~|クラス|class|class|class|
|~|インタフェース|なし&br;全て純粋仮想関数で構成されるク...
|~|全てのクラスの基底となるオブジェクト型|なし|Objectクラ...
|~|コンストラクタ|あり|あり|あり|
|~|デストラクタ|あり&br;GCが存在しないので積極的に使用す...
|~|多重継承|許可&br;ただしインタフェースの多重実装に相当...
|~|継承不可修飾子|なし|final&br;sealed|final&br;sealed|
|~|派生クラスから基底クラスへのアクセス|可能だが専用のキ...
|~|非仮想メソッド|デフォルト|final|final&br;派生クラスで...
|~|仮想メソッド|virtual|デフォルト|デフォルト|
|~|抽象(純粋仮想)メソッド|virtual xxx() = 0;|abstruct|abs...
|~|プロパティ|なし&br;明示的にgetter/setterを用意し、その...
|~|オーバーライド|特にキーワードなし|特にキーワードなし|o...
|~|演算子オーバーロード|可能|可能|可能&br;[]演算子につい...
|アクセス修飾子|public|あらゆる位置からのアクセスを許可す...
|~|protected|クラス外部からのアクセスを拒否するがこのクラ...
|~|private|クラスの外部からのアクセスを全て拒否する。この...
|~|internal|なし|なし|現在のコンパイル単位(.NET Framework...
|~|省略した場合|デフォルトのアクセス修飾子が適用される。|...
|その他|列挙型|enum&br;各列挙子はint型の値として扱われる...
|~|ジェネリックプログラム|テンプレート|ジェネリクス|ジェ...
|~|マルチスレッド|APIを使用して実現する。&br;Win32APIでは...
終了行:
*C++/Java/C# [#t1af8fff]
それぞれ、似て非なる仕様やキーワードが存在するため、その...
仕様の詳細や具体的なコーディング方法等は、別途書籍等を参...
|>|CENTER:言語仕様|>|>|CENTER:言語別比較|h
|~|~|CENTER:C++|CENTER:Java|CENTER:C#|h
|全般|エントリポイント|main()&br;WinMain()&br;DllMain()|m...
|~|代表的なライブラリ|C標準ライブラリ&br;STL&br;MFC/ATL/W...
|~|プリプロセッサ|あり|なし|あり|
|~|代表的なコンパイラのコマンド|cl&br;aaa|javac|csc|
|~|実行バイナリ|機械語|JVM用のバイトコード|.NET Framework...
|~|必須の実行環境|なし|JRE|.NET Framework|
|~|コメントドキュメンテーション|なし&br;※doxegen などサー...
|ソースコード|大文字/小文字の区別|区別する|区別する|区別...
|~|Unicode/非Unicode|非Unicode|Unicode|Unicode|
|プリミティブ型|型なし|void|void|void|
|~|論理型|bool|boolean|bool|
|~|符号付き整数型|1Byte : signed char&br;2Byte : short, i...
|~|符号なし整数型|1Byte : unsigned char&br;2Byte : unsign...
|~|浮動小数点型|4Byte : float&br;8Byte : double|4Byte : f...
|~|10進小数型|なし|なし|decimal|
|~|文字型|1Byte : char&br;2Byte : wchar_t |2Byte : char|2...
|~|文字列型|なし&br;※組込型ではないが、ライブラリによって...
|~|プリミティブ型をオブジェクトと見なすか|見なさない。|見...
|リテラル|整数値の表記法|なし : 10進数&br;0~ : 8進数&br;...
|~|小数値の表記法|X.X : 通常表記&br;X.Xe±X : 指数表記&br;...
|~|整数値のサフィックス|なし : signed int&br;U : unsigned...
|~|小数値のサフィックス|なし : double&br;F : float&br;L :...
|~|文字| 'A'| 'A'| 'A'|
|~|文字列|"~"|"~"|"~"|
|~|文字列(非エスケープ)|なし|なし|@"~"|
|~|ヌル|NULL&br;※実体は、0や、(void *)0|null|null|
|演算子|順次|,|なし|,|
|~|式優先|()|()|()|
|~|符号|+&br;-|+&br;-|+&br;-|
|~|算術|+&br;-&br;*&br;/&br;%|+&br;-&br;*&br;/&br;%|+&br;...
|~|代入|=&br;+=&br;-=&br;*=&br;/=&br;%=&br;<<=&br;>>=&br;...
|~|インクリメント/デクリメント&br;(前置/後置)|++&br;--|++...
|~|比較|==&br;!=&br;<&br;>&br;<=&br;>=|==&br;!=&br;<&br;>...
|~|論理(ショートサーキット((論理式の一部を評価した段階で...
|~|論理(非ショートサーキット評価)|なし|&&br;||&&br...
|~|否定|!|!|!|
|~|ビット|&&br;|&br;^|&&br;|&br;^|&&br;|&b...
|~|シフト|<<&br;>>&br;※算術/論理は既定されていない|<<&br;...
|~|条件(三項演算)|?:|?:|?:|
|~|型変換(キャスト)|()&br;dynamic_cast<>&br;static_cast<>...
|~|関数呼び出し|()|()|()|
|~|添字|[]|[]|[]|
|~|参照|*&br;&|なし|*|
|~|メモリ割当|new&br;delete&br;new[]&br;delete[]|new|new|
|~|sizeof|sizeof|なし|sizeof|
|~|メンバアクセス|.&br;->&br;.*&br;->*|.|.|
|~|スコープ解決|::&br;::*|.|.|
|~|型検査|なし|instanceof|is&br;as|
|~|実行時型情報|typeid|なし|typeof|
|~|その他|なし|なし|checked&br;unchecked|
|型修飾子|定数値|const&br;#define|final|const&br;#define|
|配列|一次元配列|[]|[]|[]|
|~|多次元配列|[][]|なし&br;※ジャグ配列を利用する必要あり|...
|~|配列をオブジェクトとして扱うか|扱わない|扱う&br;length...
|制御文|条件分岐|if-else&br;switch-case|if-else&br;switch...
|~|ループ|for&br;while&br;do-while|for&br;while&br;do-whi...
|~|ループ(for-each)|なし|for( : )|foreach|
|~|ジャンプ|break&br;continue&br;goto&br;return|break&br;...
|~|例外|try-catch-finally&br;throw|try-catch-finally&br;t...
|メモリ管理|ガーベージコレクション(GC)|なし|あり|あり&br;...
|~|ポインタ操作|使用可|なし|unsafeコードにより使用可|
|~|参照型|&演算子により明示的に使用する|デフォルトで参照...
|関数|デフォルト引数|あり&br;オーバーロードの際、関数のシ...
|~|名前付き引数|なし|なし|あり|
|~|可変長引数|あり&br;...キーワードと、stdarg.hを使用。|...
|~|関数ポインタ(コールバック、イベントの実装)|関数ポイ...
|OOP|構造体|struct&br;メンバにデフォルトで適用されるアク...
|~|クラス|class|class|class|
|~|インタフェース|なし&br;全て純粋仮想関数で構成されるク...
|~|全てのクラスの基底となるオブジェクト型|なし|Objectクラ...
|~|コンストラクタ|あり|あり|あり|
|~|デストラクタ|あり&br;GCが存在しないので積極的に使用す...
|~|多重継承|許可&br;ただしインタフェースの多重実装に相当...
|~|継承不可修飾子|なし|final&br;sealed|final&br;sealed|
|~|派生クラスから基底クラスへのアクセス|可能だが専用のキ...
|~|非仮想メソッド|デフォルト|final|final&br;派生クラスで...
|~|仮想メソッド|virtual|デフォルト|デフォルト|
|~|抽象(純粋仮想)メソッド|virtual xxx() = 0;|abstruct|abs...
|~|プロパティ|なし&br;明示的にgetter/setterを用意し、その...
|~|オーバーライド|特にキーワードなし|特にキーワードなし|o...
|~|演算子オーバーロード|可能|可能|可能&br;[]演算子につい...
|アクセス修飾子|public|あらゆる位置からのアクセスを許可す...
|~|protected|クラス外部からのアクセスを拒否するがこのクラ...
|~|private|クラスの外部からのアクセスを全て拒否する。この...
|~|internal|なし|なし|現在のコンパイル単位(.NET Framework...
|~|省略した場合|デフォルトのアクセス修飾子が適用される。|...
|その他|列挙型|enum&br;各列挙子はint型の値として扱われる...
|~|ジェネリックプログラム|テンプレート|ジェネリクス|ジェ...
|~|マルチスレッド|APIを使用して実現する。&br;Win32APIでは...
ページ名: