引数チェックをassertでっていう悪しきスタイルはMFCが多用してるな
vectorの[]演算子のような、実行時チェック入れると速度半減するから
入れたくないような奴にはassert()が最適な気がするけど

まあでも、それとは別の話で、ヌルポインタだけをチェックすることに
何か意味があるのだろうかと俺は疑問に思ってたな
ヌルポインタは、不正なポインタ(いくらでもありえる)の例の中の
ほんの一つに過ぎない