オムライス
普段はきっこのブログは読んでないんだけど、subscribe しているサイトからリンクがあったので。
本題とはまったく関係ないんだけど。
オムライスはどこの国だか知らないけど、とりあえず洋食だし、あたしが例にあげた中だと、ニポンの食べ物は炊き込みご飯だけか。
オムライスって日本発祥の料理じゃなかったっけ?オムレツ+チキンライスでオムライスってネーミング自体、もう日本以外では有り得なさげ。
で、Wikipedia で調べてみたら、やっぱり日本独自の料理だった。
オムライスは、日本独自のご飯料理のひとつで、オムライスという言葉自体も和製語である。いわゆる洋食の代表格。日本式にケチャップで味付けしたチキンライス(またはバターライス)を卵焼きで包んだもの。
もうひとつ。
ニポンでは、この5年間で、生活苦による自殺者が10万人以上も出てるのに、よその国にはお金や食料をバラ撒いてるなんて、政治家って国民の代表のハズなのに、国民のことよりもソトヅラのほうが大事なんだろうか?
ふむ。平成17年中における自殺の統計によると、経済生活問題による自殺は年間3,000人そこそこですが。遺書無しが年間2万人強いるけど、「この5年間で、生活苦による自殺者が10万人以上も出てる」ってのはいささか誇張が過ぎやしないか。
まぁ、きっこだしな。仕方ないか。
条、項、号
またまた、本題とはまったく関係ないんだけど。
第二条 子は、次の場合には、日本国民とする。
一 出生の時に父又は母が日本国民であるとき。
二 出生前に死亡した父が死亡の時に日本国民であつたとき。
三 日本で生まれた場合において、父母がともに知れないとき、又は国籍を
有しないとき。
(準正による国籍の取得)
仮に属人主義をよしとしたところで、父母の待遇に差がある第二項はおかしい。
ええと、条文の読み方をご存知でないのだろうか*1。それは「第二項」ではなく、「第二号」だ。
ちなみに法律の条文において、漢数字だったり、算用数字だったりするのはきちんと意味があって、この場合は漢数字が「号」で、算用数字が「項」をあらわす*2。あと、通常は第一項の数字は省略されるので、条の中で突然「2」と出てきたらそれより前が第一項だったりする。
NULL と 0
なぜだか最近 C++ ネタが多いな。研究では Java か Python か Shell Script がほとんどなんだけど。
ここでは、NULLは((void*)0)であって、0ではないのだから、場合によっては動作が違うよ……ということが書かれています。
でも面白いことに、C++ではNULLと0は完全に同じです。#define NULL 0とされています。
そもそも、もしもNULLの型がvoid*だったのなら、C++では、char*に対してそのままの代入が行えません。
なのでC++では、NULLと0は完全に同じものです。(UNIXだと、違うとでも言うのでしょうか?)
ええと、C++ では NULL と 0 が同一なんて規定があったっけ? NULL マクロを使うのをやめてリテラルの 0 を使えという話はありがちだけど、とりあえず GCC-4.0 では NULL と 0 が同一なわけではない。以下 64bit 環境での結果。
% cat test.cpp #include <cstddef> #include <iostream> int main() { std::cout << "NULL: " << sizeof(NULL) << std::endl << "0: " << sizeof(0) << std::endl << "0L: " << sizeof(0L) << std::endl; return NULL; } % g++ -E test.cpp | tail -n 8 int main() { std::cout << "NULL: " << sizeof(__null) << std::endl << "0: " << sizeof(0) << std::endl << "0L: " << sizeof(0L) << std::endl; return __null; } % g++ -Wall test.cpp test.cpp: In function `int main()': test.cpp:9: warning: converting to non-pointer type `int' from NULL % ./a.out NULL: 8 0: 4 0L: 8
現象まとめ。
- NULL は 0 に展開されるわけではなくて、__null に展開されている
- int であるべきところに NULL って書いたらきっちり「NULLから非ポインタへの変換」と警告が出る
- 実際に 64bit 環境では 0 と NULL のサイズは異なる
まぁ、常に 「#define NULL 0」だと思っていたら大間違いだということです。