2014-02-01から1ヶ月間の記事一覧
reserveを使って不必要な割り当てを避けよう
動的に割り当てられる配列よりvectorとstringを優先して使おう
STLコンテナのスレッドセーフティに関して現実的な見込みを持とう STLは完全なスレッドセーフではないので、セーフティにするには自分で制御する必要があります。
カスタムアロケータの正しい使い方を理解しようカスタムアロケータは、コンテナが要素を確保する方法を定義します。 領域確保時、NULLを返したり例外を発生させるなどした時の対策をしておく必要があります。
アロケータの規則と制限に注意しよう カスタムアロケータを作るときの注意点です。
消去オプションは注意して選択しよう
auto_ptr型のコンテナを作成することはやめよう
Efficient C++ 12章から16章の簡単なまとめです。
Efficient C++ 11章の簡単なまとめです。
Efficient C++ 8章から10章の簡単なまとめです。
newしたポインタのコンテナを使うときは、必ずポインタをdeleteした後にコンテナを破棄しよう
C++で最も奇妙な解析に注意しよう
単一要素メンバ関数より範囲メンバ関数を使おう
size()で0を調べる代わりにemptyを呼びだそう一部の実装では、listのsizeが線形時間の処理になっているそうです。 なので、コンテナが空であるかどうかを調べるにはemptyを使うようにします。
コンテナのオブジェクトを正しく効率的にコピーしよう コンテナにオブジェクトを追加するとき、オブジェクトのコピーが発生します。 コピーにはコストがかかりますし、基本クラスのコンテナに派生クラスのオブジェクトをコピーすると派生部分が切り落とされ…
コンテナに依存しないコードという幻想に注意しよう
コンテナは注意して選択しようタイトルがすべて、目的にあったコンテナを選ぶべきです。参考書籍Effective STL―STLを効果的に使いこなす50の鉄則作者: スコットメイヤーズ,Scott Meyers,細谷昭出版社/メーカー: ピアソンエデュケーション発売日: 2002/01メデ…
Efficient C++ 6章と7章の簡単なまとめです。
Efficient C++ 1章から5章の簡単なまとめです。
仮想関数、多重継承、仮想基底クラスと実行時型識別のコストを理解する。
2つのライブラリーを使い分ける同じ機能を持つライブラリーにも、速度を重視したものや安全性を重視するなどの特徴があります。 例えば、iostreamライブラリーは型の安全性や拡張性に優れますが、一般にstdioのほうが高速だそうです。 なので、ライブラリー…
単独のopの代わりにop=を使うことを考える
暗黙的な型変換を避けるためのオーバーロード
戻り値最適化の促進
テンポラリーオブジェクトの起源を理解する
予想される計算のコストを償却する積極評価についてです。
遅延評価の使用を検討する遅延評価とは、必要になるまで処理を遅らせるということです。
80-20規則を覚えておこう80-20規則とは、処理資源の80%は20%のコードによって使用されるという経験則です。 この20%のコードを見つけるために、プロファイラを使うべきです。
例外処理のコストを理解する
例外使用を賢く用いる