iT邦幫忙

2025 iThome 鐵人賽

DAY 27
2

迎來這本書的最後篇章!可惜又是忙到像 Yoyo 溜溜球的一天,只能隨意寫一些零散的筆記結束這回合 QQ

54. Familiarize yourself with the standard library, including TR1

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_settr1::unordered_map
  • 正規表達式:用以匹配字串中字元組合的模式,可進行搜尋和替換等操作。
  • 元組:Tuple 可視為通用化的 pair,可容納多個對象。
  • 陣列:tr1::array 是 STL 化的靜態數組,支援 beginend 等更方便的成員函式。

除了上面提到的之外,還有 tr1::mem_fntr1::reference_wrapper、更高級的亂數生成方式、數學特殊函式等進展。要使用 TR1 的組件來源,可以選擇以 Boost 來實現。

55. Familiarize yourself with Boost

Boost 是一個 C++ 函式庫的社群,專注於開發免費開源並經由同行評審的 C++ 函式庫,在 C++ 標準化過程中具有重大的影響。

其不僅實現了許多 TR1 的功能組件,還提供了許多其他實用的函式庫,例如多執行緒管理、圖形演算法資料結構、序列化、數學函式庫等。涵蓋範圍廣泛且功能強大,為 C++ 開發者提供強大的工具支援。


上一篇
[Day 26] Miscellany I
下一篇
[Day 28] 中場休息 Q&A小測驗!!
系列文
30 天 Effective C++ 大挑戰!!30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言