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