システムハンガリアン
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/26 23:58 UTC 版)
「ハンガリアン記法」の記事における「システムハンガリアン」の解説
すべて接頭で使用する。C言語およびC++特有の言語仕様、言語機能および型名に依存する規約がほとんどである。 文字意味使用例b または f 論理型 bDirtyFlag ch 文字型 chSeparator by バイト型 (符号なし1バイト整数) byGrayLevel n または i 整数型 (int, integer) nPower l 長整数 (long) lDate u 符号なし整数 uiCount w ワード型 (WORD) wLanguageCode dw ダブルワード型 (DWORD) dwSize fp または f 単精度浮動小数点型 fpPrice db または d 倍精度浮動小数点型 dPi p または lp ポインタ型 lpDirectSound s 文字列型 sPlayerName sz ゼロ終端文字列型 szFileName fn 関数ポインタ型 fnCallback h ハンドル型 hThread hwnd または h ウィンドウハンドル型 (Windowsのみ) hMainWindow g_ グローバル変数 g_iErrorCode c_ 定数 (const) c_nBufferSize s_ 静的変数 (static) s_pLookupTable m_ クラスのメンバー変数 m_nLength C クラス CHoge tag 構造体タグ tagRECT なお、これらは組み合わせて使われることもある。例えば「lpsz: ゼロ終端文字列へのポインタ」「m_ul: メンバー変数の符号なし長整数」などといった具合である。 ゼロ終端を表す「z」は、ほとんどの場合ゼロ終端文字列を表す「sz」の形で表れるが、まれに番兵として0やNullを配置している可変長配列やリストなどのデータ構造を示すために用いられている例もある。 グローバル変数やメンバー変数を表す接頭辞は、変数の型ではなくスコープを区別するためのものであるので、システムハンガリアンとは区別する見方もある。これの類似の例として、ローカル変数やプライベート変数など、外部から参照されない変数を判別するために接頭辞・接尾辞をつけるプログラミング作法も存在する。例えばC#コードを自動生成するフレームワークなどではprivateフィールド名先頭に"_"を付けたり、C++ Coding Standardsなどの書籍ではメンバー変数名末尾に"_"を付けたりする慣習が使われることがある。
※この「システムハンガリアン」の解説は、「ハンガリアン記法」の解説の一部です。
「システムハンガリアン」を含む「ハンガリアン記法」の記事については、「ハンガリアン記法」の概要を参照ください。
- システムハンガリアンのページへのリンク