ikautak.log

C/C++, Python, CUDA, Android, Linux kernel, Network, etc.

More Effective C++ 項目23 2つのライブラリを使い分ける

新訂版 More Effective C++ (AddisonーWesley professional co)

新訂版 More Effective C++ (AddisonーWesley professional co)

  • 作者: スコット・メイヤーズ,安村通晃,伊賀聡一郎,飯田朱美,永田周一
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2007/06/29
  • メディア: 単行本(ソフトカバー)
  • 購入: 8人 クリック: 129回
  • この商品を含むブログ (43件) を見る

項目23 2つのライブラリを使い分ける

理想的なライブラリは小さく、速く、強力で、柔軟で、拡張性に富み、直観的で、制限もなく、バグもない。
しかし、そんなライブラリは存在せず、トレードオフになっており、どこかを優先すると、どこかが失われる。

例としてiostreamとstdioがある。
iostreamは型安全や拡張可能性があるが、効率はstdioに劣る。

同様の機能を提供しているライブラリが複数ある場合、性能に関してそれぞれ何らかのトレードオフがある。
I/Oが遅いならiostreamをstdioに置き換えたり、メモリ割り当てが遅いならoperator newを使うなど、性能に重点を置いたライブラリに切り替えれば効率を改善できる場合がある。