ssacontents
C++の「使ったら負け」シリーズ †
超初級編 †
最低レベルの警告メッセージ・もしくは抑止機能 †
ほとんどの環境で、ビルドオプションに「警告レベル」という設定があります。
これは、何も考えずに最大レベルにするのが正解。
最低レベル、もしくは警告なしの設定にしてはいけません。それは、丸裸で戦場に行くようなものです。
初級編 †
#defineによるマクロ定義 †
言うまでもありませんが、#defineによるマクロは強力すぎて、バグの温床であり、デバッグを困難にする要因です。できるかぎり使わないに越したことはありません。
正当な理由なく#defineマクロを使ってしまったら、あなたの「負け」です。
Cスタイルのキャスト †
ヘッダファイルでの using namespace †
グローバル変数 (デバッグ用途以外で) †
マジックナンバー †
中級編 †
クラスのfriend宣言 †
クラスの前方宣言 †
void* †
NULLなどCライブラリ由来のマクロ定数 †
union †
#ifdef #if defined() 等による条件コンパイル †
上級編 †
reinterpret_cast †
ヌルポインタチェック †
switch文 †
生delete文 †
マネージャーという名前を含むクラス名 †
最上級編 †
virtual †