アカウント名:
パスワード:
自分ではやりませんが、人がやっている分にはスルーする事にしています。
ただ、
Windows界隈ですが、変数名ではなく型名にハンガリアン記法(っぽい)定義がされているのが、よくあります。
符号無し32ビット整数である DWORD に対して、それのポインタである LPDWORD が定義されているわけです。これだと頭が混乱するので、素直に DWORD * と書いて欲しいわけです。
ポインタ値を“ポインタ返し”関数があったとします。たとえば以下のようなものです。
void hoge (void **p);
これをマイクロソフト流に書くと、
void hoge (LPVOID *p);
となります。この辺で、かなりイラっときます。
文字列ポインタ
それは、ターゲット環境によってtypedef const char *LPCSTR;とtypedef const char __far *LPCSTR;を定義し分けなければいけなかった時代の名残なのです。今となってはまさに「もうやらなくていいコーディングテクニック」ですね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
ハンガリアン記法とか (スコア:0)
Re: (スコア:3, 参考になる)
char szHogeHoge[64]のようなシステムハンガリアンを使うことについては、僕も大嫌いですが。
Re: (スコア:1)
Re: (スコア:2)
自分ではやりませんが、人がやっている分にはスルーする事にしています。
ただ、
Windows界隈ですが、変数名ではなく型名にハンガリアン記法(っぽい)定義がされているのが、よくあります。
符号無し32ビット整数である DWORD に対して、それのポインタである LPDWORD が定義されているわけです。
これだと頭が混乱するので、素直に DWORD * と書いて欲しいわけです。
ポインタ値を“ポインタ返し”関数があったとします。たとえば以下のようなものです。
void hoge (void **p);
これをマイクロソフト流に書くと、
void hoge (LPVOID *p);
となります。この辺で、かなりイラっときます。
文字列ポインタ
Re:ハンガリアン記法とか (スコア:1, 参考になる)
それは、ターゲット環境によって
typedef const char *LPCSTR;
と
typedef const char __far *LPCSTR;
を定義し分けなければいけなかった時代の名残なのです。今となってはまさに「もうやらなくていいコーディングテクニック」ですね。