boost
今日は久しぶりに一日なんもない日。とゆーわけで夏休みの基本ダラダラを満喫。うーん、やっぱ夏休みはこれに限る。今日何をしたと言われても、何もしてない。あ、甲子園見た。京都外大西後半から見てたけどすごいおもろかった。やっぱ実力だけじゃなくて運も必要よね勝ち続けるためには。残念ながら明日の決勝はバイトで見れないorz
あとboost本読み終わり。おもしろそうなとこだけ流し読みやけど。
- 作者: 稲葉一浩
- 出版社/メーカー: 秀和システム
- 発売日: 2004/05/10
- メディア: 単行本
- 購入: 3人 クリック: 49回
- この商品を含むブログ (62件) を見る
boostとはC++の標準ライブラリであるSTLをさらに拡張したライブラリで、今のところ言語標準ではないけど、オープンソースなコミュニティベースで開発を続けることで実質的な標準にしようとゆー企み。最終目標は次期標準ライブラリへの採用とゆー野望。boostはC++標準仕様に従って実装されてるけど、最新のテンプレート技術を多用するんで古いコンパイラだとコンパイルできないライブラリが多数あるので注意が必要。ライブラリの本体やドキュメント、コンパイラの対応状況なんかはboost.orgにあり。
boostは現在では50以上のサブライブラリから構成されてるけど、とりあえずすぐ使い道がありそうなんが、
- random:乱数
- serialization:シリアライズ
- オブジェクトの状態をファイルに保存し、次回起動時にそれを読み込むことでオブジェクトの状態を復元するシリアライズ操作を行う。
- array:静的配列のラッパ
- tuple:複数データをまとめて扱う
- 複数のデータを関数値として返したいけど、わざわざ構造体を定義するほどでもないときに複数データを1つにまとめる。簡単に言うとstd::pairを2以上に拡張したもの。
- tokenizer:文字列処理
- filesystem:ファイル操作
- OSに依存しない抽象的なファイルシステムを提供。
- date_time:時間もの
- 日付や時間データの演算、カレンダー。
- timer:簡易タイマー
- ちょっち時間が測りたいときにms程度の精度の簡易タイマー。
- shared_ptr:スマートポインタ
- bind:STLのバインダの拡張
- 9引数まで自由にバインド可能
使い方覚えたら強力っぽいの
- regex:正規表現
- lambda:無名の関数オブジェクト
- アルゴリズムに渡す関数オブジェクトをその場で定義できるよーになる。ものすごく便利っぽいけどこれって効率的にどうなんだろうとゆーのが不安なんやけど、暇があればリファレンス読もう。
- sprit:BNF風記法の字句解析
- graph:グラフ
- Excelとかのグラフじゃなくて、グラフ論の方のグラフ。てゆーかネットワークの研究してるともろに使いそう。
- test:単体テスト
- CUnitみたいなの。関数やクラスの要求仕様を定義してテストを自動化。テストは全然かじったことがないんでそのうち覚えたいとは思うんやけど。
その他いろいろはboost.orgを参照で。