C++でのハンガリアン記法について考える

まずはじめに
ハンガリアン記法とは、Microsoftが推奨していた(※過去形)コーディングスタイルで
変数名にプレフィックス(接頭辞)を付けて変数の型を明示化しようというものです




int            nValue;
long           lValue;
double         fValue;
char           cStr;
char           szStr[32];
bool           bEnale;
HWND           hWnd;
int            *pnValue;
int            arnValue[3];
struct TPerson stPerson;

私はハンガリアン記法を学生の頃から使っていたし、仕事でも使ってるせいかキライではありません

ですが、C++ではハンガリアン記法に限界を感じます


Cなら、組み込み型/構造体/配列/ポインタくらいしかないのでハンガリアン記法はアリだと思っているのですが
C++ではクラスは型として扱われるため、プレフィックスが爆発的に増えてしまいます


vectorのプレフィックスは?listは?ユーザー定義のクラスは?
こんなことを考えていたらキリがありません


プレフィックス考えるくらいなら、より適切な変数名を考えます



なので、C++ではハンガリアン記法を使うと大変なのでオススメはしません