決まり事ではありませんが、慣用的な変数名の付け方があります。慣用的な変数名の
付け方は時代とともに変わってきますが、ここではその一部を紹介します。
変数名はC++になって、int型、char型、ポインタ型のような基本型(プリミティブな型と言います)以外にも
クラスのインスタンスやクラスのポインタなど多岐にわたるようになりました。したがって
ぱっと見ただけでどんな型を表しているのかがわかるように付けたほうが便利です。そこで、
以下のような変数名の付け方が慣用的に用いられるようになりました。
スコープによる接頭語
スコープ |
接頭語 |
クラスのメンバー変数 |
「m_」で始める |
スタティック変数 |
「s_」で始める |
グローバル変数 |
「g_」で始める |
オート変数(ローカル変数) |
何も付けない |
型による接頭語
型 |
接頭語 |
数値 |
「n」で始める |
フラグ |
「f」で始める |
フラグ以外のbool型 |
「b」で始める |
文字(char型) |
「ch」で始める |
クラスのポインタ |
「cp」もしくは「p」で始める |
ポインタ |
「p」で始める |
32bitのポインタ |
「lp」で始める |
文字列(char*型またはstring型) |
「str」、「lp」もしくは「p」で始める |
vector |
「vct」で始める |
list |
「lst」で始める |
例
メンバー変数の文字列 |
m_strTitle |
グローバル変数の数値 |
g_nLength |
少し前までは、変数名や関数名に大文字を用いることは少なかったのですが、
最近は大文字を混ぜたほうが見やすいことから、大文字を取り入れる場合も多々あります。
また、#defineやenum{...};で定義する定数などは、すべて大文字にするケースも
多いです。