[[C++ TIPS 2]] * C++都市伝説 [#ofbc9648] ** C++は遅い!? [#qa2cda36] - Cで書かれたプログラムをC++で書き直した結果、処理速度が遅くなったとしたら、なにか重大な過ちを犯しています。 - 設計段階から作り直せば、処理速度は確実に速くなります。 - テンプレートを使う事で、C言語より高速なプログラムを書く事ができます。 ** C++はメモリを大食いする!? [#k28bd5eb] - C言語のプログラムをC++で書き直しただけでは、メモリの消費量は変わりません。 - 設計からやり直す事で、動的に確保するメモリが増える場合があります。 - スタック領域はCよりも多く消費する傾向があります。 - メモリのフラグメントが起こりやすいことがあります。 -- 組み込み系では、メモリ管理を別途行った方がよいでしょう。(boost poolなど) ** 標準C++ライブラリは使えない [#tcf8526b] - C言語の使い手からは馴染みにくい部分もある - ちゃんと使うとよく出来ている - いきなりC++から言語を覚えた人には抵抗なく使える - ライブラリのサイズが大きいので組み込み系ではリビルドが必要 ** STLは不安定 [#p3a55fcb] ** BOOSTは怪しいライブラリ [#v2ba5efd] ** デストラクタにはvirtualをつけろ [#yfbd7c1e] ** すべてのクラスはCObjectを継承すべし [#n6e2a3a5] ** コンストラクタで例外を投げてはダメ [#daf32cef] ** 多重継承はダメ [#h0057c19] ** テンプレートメタプログラミングは黒魔術だ [#w6311a8a] ** ヘッダーには定義のみで実装を書いてはいけない。 [#k7a5aae3] ** BOOST POOLはゲームでは使えない [#v0a29e1e] ** 参照は不便。ポインタは便利。 [#ibebcff7]