《超越C++標準庫:Boost庫導引》:Boost庫簡介—輸入/輸出

來源:互聯網
上載者:User
輸入/輸出(Input/Output)Boost.Assign

Assign協助把一個序列的值存入容器。它通過重載逗號操作符和括弧操作符(用於函數調用的操作符)為使用者提供了一種簡便的賦值方法。這個庫不僅對於原型設計風格(prototyping-style)的代碼尤其有用,而且它的特性在其它時候也是同樣有用的,因為使用這個庫最終所產生的代碼可讀性非常好。也可以通過這個庫使用list_of在需要的時候建立匿名數組。

Assign的作者是Thorsten Ottosen。

Boost.Filesystem

Filesystem庫提供針對路徑、目錄和檔案的可移植性操作。它所提供的高層抽象使得C++程式員可以寫出經常在其它語言裡才能實現的類似於指令碼的操作。這個庫提供了非常方便的演算法用於全面地遍曆目錄和檔案。書寫可以在擁有不同檔案系統的平台之間遷移的代碼原本是非常困難的事情,在這個庫的協助下,也變得切實可行。

Filesystem的作者是Beman Dawes。

Boost.Format

這個庫提供了根據格式字串來格式化參數的功能,類似於printf,但是它是型別安全的。關於printf和與之類似的格式化函數最飽受爭議的一點就是,它們在本質上是危險的;因為不能保證格式化字串所指定的類型與實際的參數是相符的。除了消除這種不相符的機會,Format還允許針對使用者定義型別的自訂格式化[4]。

Format的作者是Samuel Krempp。

Boost.Io_state_savers

Io_state_savers庫可以用來儲存IOStream對象的狀態,並且可以在以後恢複這個狀態,同時撤銷這期間可能出現的任何狀態。許多操作都會永久性地改變它們所操作的stream的狀態,手工複位這些狀態不僅很不方便而且很容易出錯。這個庫包括許多狀態儲存器,它們用於針對流(stream)的控制標識(control flags)、精度(precision)、寬度、異常掩碼(exception masks)、流的本地化(locale)以及其它更多的東西。

Io_state_savers的作者是Daryle Walker。

Boost.Serialization

這個庫允許任意的C++資料結構被儲存到檔案檔案(archives),並且在以後從檔案檔案恢複出來。比如說,檔案檔案可以是,文字檔或者XML檔案。Boost.Serialization具有高度的可移植性,並且提供了一系列豐富的功能,諸如類的版本化、C++標準庫類的序列化,共用資料的序列化,等等很多。

Serialization的作者是Robert Ramey。



[4] 通過使用省略符號來實現個數可變的參數的格式化函數是沒法做到這一點的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.