2007年5月30日水曜日

ハンガリアン記法

自分用の記法を作っとこうと
調べてたらこんなの発見
■間違ったコードは間違って見えるようにする
http://local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B

ハンガリアン記法 = 型がわかるだけ
型がわかったからどないやねん!
コンパイル時に型が違ったらErrorかWarningを出してくれるから意味ないやん
って思ってたのにこの考え方が覆されましたよ
引数にin や out を付けるぐらいでしたが、
使われている意味を付けるってのはええ考え方やわ
参考にしよっと。

ちょーっと長い記事ですが読む価値あり!

2007年5月28日月曜日

void型のサイズは?

久々の投稿!

新人教育の際に調べたことを残しておきます。

新人さんがvoidポインタに加算…
VCやと見事にコンパイルエラーw
んで何で?って聞かれたから以下のようなコードを記述して
「void型はサイズが不定やからエラーが出るんやで…」といいながら
gccでコンパイルしてみてん。
----
void* a = 0;
a++;
----
そしたら、コンパイル通るやん!!!
新人さんもビックリやけど、僕はもっとビックリやわ!

何でや何でや?ってとりあえず
printf("%d",sizeof(void));
と打ち込んでgccでコンパイルして実行。
表示された値は「1」 いち?
gccやとvoid型のサイズは 1 とし認識されているようですわ。

※ちなみにVC6.0やとサイズ不定ってエラーが出ます。

C++では型が厳しくなってるからg++でもコンパイルエラーでます。

ラベル