迎來這本書的最後篇章!可惜又是忙到像 Yoyo 溜溜球的一天,只能隨意寫一些零散的筆記結束這回合 QQ
C++98 包含 C89 標準函式庫,核心功能主要由 STL、iostreams 和 locales 組成,也支援模板處理 complex
複數和 valarray
純值數組。
Technical Report 1 (TR1) 是一種規範,實際使用時需要配套實作。其增添了許多重要功能。
shared_ptr
管理對象的引用計數,當最後的指標被銷毀時自動刪除對象;weak_ptr
用於解決 shared_ptr
引發的循環引用問題,不使用引用計數。詳情可以複習知識點 13 和 知識點 18。tr1::function
提供極高彈性,可表示任何符合目標簽名的 callable 對象,適合用於回調函式的註冊。tr1::bind
比早期 STL 的綁定器功能更強,支援 const 和非 const 成員函式及 by-reference 參數。tr1::unordered_set
和 tr1::unordered_map
。pair
,可容納多個對象。tr1::array
是 STL 化的靜態數組,支援 begin
和 end
等更方便的成員函式。除了上面提到的之外,還有 tr1::mem_fn
、tr1::reference_wrapper
、更高級的亂數生成方式、數學特殊函式等進展。要使用 TR1 的組件來源,可以選擇以 Boost 來實現。
Boost 是一個 C++ 函式庫的社群,專注於開發免費開源並經由同行評審的 C++ 函式庫,在 C++ 標準化過程中具有重大的影響。
其不僅實現了許多 TR1 的功能組件,還提供了許多其他實用的函式庫,例如多執行緒管理、圖形演算法資料結構、序列化、數學函式庫等。涵蓋範圍廣泛且功能強大,為 C++ 開發者提供強大的工具支援。