[[C++ TIPS 2]]

* C++都市伝説 [#ofbc9648]

** C++は遅い!? [#qa2cda36]
- Cで書かれたプログラムをC++で書き直した結果、処理速度が遅くなったとしたら、なにか重大な過ちを犯しています。
- 設計段階から作り直せば、処理速度は確実に速くなります。
- テンプレートを使う事で、C言語より高速なプログラムを書く事ができます。

** C++はメモリを大食いする!? [#k28bd5eb]
- C言語のプログラムをC++で書き直しただけでは、メモリの消費量は変わりません。
- 設計からやり直す事で、動的に確保するメモリが増える場合があります。
- スタック領域はCよりも多く消費する傾向があります。
- メモリのフラグメントが起こりやすいことがあります。
-- 組み込み系では、メモリ管理を別途行った方がよいでしょう。(boost poolなど)


** 標準C++ライブラリは使えない [#tcf8526b]
- C言語の使い手からは馴染みにくい部分もある
- ちゃんと使うとよく出来ている
- いきなりC++から言語を覚えた人には抵抗なく使える
- ライブラリのサイズが大きいので組み込み系ではリビルドが必要

** STLは不安定 [#p3a55fcb]
-処理系によって実装が違うので、90年代は互換性の問題があった。

** BOOSTは怪しいライブラリ [#v2ba5efd]

** デストラクタにはvirtualをつけろ [#yfbd7c1e]

** すべてのクラスはCObjectを継承すべし [#n6e2a3a5]

** コンストラクタで例外を投げてはダメ [#daf32cef]

** 多重継承はダメ [#h0057c19]

** テンプレートメタプログラミングは黒魔術だ [#w6311a8a]

** ヘッダーには定義のみで実装を書いてはいけない。 [#k7a5aae3]

** BOOST POOLはゲームでは使えない [#v0a29e1e]

** 参照は不便。ポインタは便利。 [#ibebcff7]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS