boost有用的庫信息
boost是一系列C++模板庫組成的免費,可移植,開源的程序庫.網絡上關于boost的文章已經很多.
這里摘記一些庫的信息,供自己日后參考.
0.foreach - BOOST_FOREACH 宏可以很容易地遍歷一個序列的所有元素
PS: 非常優秀,值得參考使用.
1.bind and mem_fn - 泛型綁定器,用于函數/對象/指針和成員函數
PS: 非常優秀,高效率,值得參考使用.
2.asio - 可移植的網絡和其它底層I/O,包括 sockets, 定時器, 主機名解釋,socket 輸入輸出流,串行端口,文件描述符和 Windows HANDLEs
PS: 很優秀,值得參考使用.
3.smart_ptr - 五種智能指針類模板
PS: shared_ptr很不錯.
4.signals - 可管理的信號和插槽回調實現
signals2 - 可管理的信號和插槽回調實現(線程安全的版本2)
PS: 還不錯.
5.function - 延期調用和回調的函數對象包裝
PS: 不錯.
6.assign - 以從所未有如此容易的方法將常數或生成的數據填入容器
PS: 方便操作C++容器,值得使用. vector v; v+=1,2,3,4,5;
7.string_algo - 字符串算法庫
PS: 非常優秀,值得使用和參考
8.regex - 正則表達式庫
PS: 有點意思,但個人使用正則機會不多.
9.property tree - 一個樹型數據結構,尤其適合于保存配置數據
PS: 有點意思.
10.lexical_cast - 通用的字面文本轉換,如:將 int 表示為字符串,或反之
PS: 對stringstream的包裝而已. 看個人習慣了,如果習慣了多敲幾行stringstream代碼,就沒必要用這個.
11.optional - 任意值的可區別聯合包裝
PS: 想法很好,值得使用, 不過optional<bool> 是個硬傷,個人覺得由于其語義已經完全不同了, 應該設法禁用或者嚴格區別開來; 但作者并沒這樣做.
12.tuple - 更易于定義返回多個數值的函數,
PS: 很有意思.值得使用
13.tokenizer - 將一個字符串或其它字符序列分解為一系列記號
PS: 有點意思.
14.filesystem - 可移植的路徑、目錄遍歷和其它有用的文件系統操作
PS: 有點意思,可以考慮.
15.python - 將C++的類和函數反射到 Python,
PS: 未研究,不過網上推薦很高.我會擠出時間研究的.
PS: 暫時還不成熟
operators - 用模板來簡化算術類和迭代器
PS: 有點意思.但使用機會還是不多.
PS: 很全,但細節太多,怪異....
utility - 類 noncopyable 和 checked_delete(), checked_array_delete(), next(), prior() 函數模板,再加上 base-from-member idiom,
PS: 有點意思.
crc - 循環冗余碼,
PS: 值得參考使用.
tribool - 三態布爾類型庫.
PS: 用處不大
timer - 事件定時器,進度計時器,以及進度顯示類
PS: 未研究
pool - 內存池管理.
PS: 有點意思.
exception - 用于在異常對象中傳送任意數據的庫,可以在線程間傳送異常(N2179)
PS: 使用C++異常時,可以修改異常信息,個人用處不大.
flyweight - 管理大量高度冗余的對象的一個設計模式
PS: 未研究.
test - 支持簡單的程序測試、全單元測試,以及程序執行監控.
PS: 未研究.
system - 操作系統支持,包括即將成為 C++0x 標準庫組成部分的診斷支持
program_options - 存取來自命令行、配置文件或其它來源的配置數據
PS: 不那么好用.
interprocess - 共享內存、內存映射文件、進程共享互斥體、條件變量、容器和分配器
PS: 未研究
hash - 一個 TR1 的散列函數對象,可以擴展為對用戶定義類型進行散列
PS: 不錯.
any - 保存具有不同值類型的單個值的一種安全、泛型的容器
PS: 用處不大.
variant - 安全、泛型、基于棧的可識別聯合的容器
PS: 個人用處不大.
unordered - 無序關聯式容器
PS: 未研究
array - 兼容STL的容器,是固定大小的數組的包裝
PS: 用處不大.
bimap - 雙向 maps.
PS: 編譯代價貌似很大?
dynamic_bitset - 一個在運行期可變大小的 std::bitset 版本
PS: 個人用處不大.
compressed_pair - 空成員優化
PS: 個人用處不大.
intrusive - 插入式的容器和算法
PS: 個人用處不大.
前16個真的很不錯, boost還有剩余的一些庫沒羅列,它們使用的可能很小.