C++ 標准庫概覽(一分鍾就看完了)


C++ 標准庫以若干頭文件的方式提供。

下面簡單介紹一個各頭文件的內容。

第一部分 容器 Containers

<array>

C++11 新增。提供了容器類模板 std::array,固定大小數組的容器。

<bitset>

提供了專門用來存放位組(一系列 bit)的容器類 std::bitset

<deque>

提供了雙向隊列容器類模板 std::deque

<forward_list>

C++11 新增。提供了單向鏈表容器類模板 std::forward_list

<list>

提供了雙向鏈表容器類模板 std::list

<map>

提供了類模板 std::map 和 std::multimap,前者是有序的一組偶對,后者與前者類似但允許鍵重復。

<queue>

提供了由 std::duque (經過適配器模式)包裝而來的容器類 std::queue,即單向隊列。還提供了優先隊列std::priority_queue

<set>

提供了容器類模板 std::set 和 std::multiset

<stack>

提供了由 std::duque (經過適配器模式)包裝而來的容器類 std::stack,即棧。

<unordered_map>

C++11 新增。提供了容器類模板 std::unordered_map 和 std::unordered_multimap,它們都屬於哈希表(散列表)。

<unordered_set>

C++11 新增。提供了容器類模板 std::unordered_set 和 std::unordered_multiset

<vector>

提供了容器類模板 std::vector,即動態數組。

第二部分 通用 General

<algorithm>

提供了很多針對 STL 容器的算法。

<chrono>

提供了諸如 std::chrono::duration 和 std::chrono::time_point 等的時間元素,還有時鍾。

<functional>

提供了一些函數對象(如仿函數)。

<iterator>

提供了與迭代器相關的一些類和模板。

<memory>

提供了 C++ 內存管理的工具,例如 std::unique_ptrstd::shared_ptrstd::weak_ptr

<stdexcept>

這里面有一些表示異常的類,例如 std::exceptionstd::logic_errorstd::runtime_error

<tuple>

C++11 新增。提供了元組 std::tuple

<utility>

提供了類模板偶對 std::pair 。所謂偶對,就是放在一起的、有序的兩個東西 (a,b)。提供了 namespacestd::rel_ops,用來更簡便地使用運算符重載。

第三部分 本地化 Localization

<locale>

以類和函數的形式封裝了與區域有關的操作。

<codecvt>

提供了不同代碼頁(code page)之間字符編碼的轉換功能。

第四部分 字符串 Strings

<string>

提供了 C++ 標准的字符串類和字符串模板。

<regex>

C++11 新增。提供了用正則表達式進行字符串匹配的功能。

第五部分 流與輸入輸出 Streams and Input/Output

<fstream>

提供了對文件的輸入輸出設施。

<iomanip>

提供了控制輸出格式的功能。例如,基於特定的進制數格式化整數,或者控制浮點數的精度。

<ios>

提供了 iostream 需要的一些類型和函數。

<iosfwd>

提供了一些與 I/O 有關的轉發操作。

<iostream>

提供了 C++ 輸入與輸出的基礎層。

<istream>

提供了類模板 std::istream 和其他與輸入相關的輔助類。

<ostream>

提供了類模板 std::ostream 和其他與輸出相關的輔助類。

<sstream>

提供了類模板 std::stringstream 和其他用來處理字符串流的類。

<streambuf>

提供了對字符序列(文件或字符串)進行讀寫的基礎設施。

第六部分 輔助 Language support

<exception>

提供了一些與異常處理有關的類型和函數。

<limits>

提供了類模板 std::numeric_limits,用來描述基本數字類型的最值。

<new>

與 new 和 delete 運算符有關的一些類型和函數。

<typeinfo>

C++ 運行時的類型信息的一些工具。

第七部分 線程支持 Thread support library

<thread>

C++11新增。提供了使用線程所需要的類和 namespace。

<mutex>

C++11新增。這里面有互斥對象(mutex),鎖(lock),還有 once(一種用來保證某函數在某進程中只執行一次的對象)。

<condition_variable>

C++11新增。條件變量。一個條件變量代表一個條件,當一個條件變量等待時,它會阻塞當前線程,直到它代表的條件為真。

<future>

C++11新增。可以用它來進行便捷的異步操作,以免代碼中出現一大堆回調函數。

第八部分 數學與數值計算 Numerics library

使得 C++ 程序可以執行(不完善的)數學運算的組件。

<complex>

復數相關。

<random>

(偽)隨機數相關。

<valarray>

定義了五個類模板 valarrayslice_arraygslice_arraymask_arrayindirect_array,兩個類slicegslice,還有一系列相關的函數模板。

<numeric>

一些通用的數學運算。

第九部分 C 標准庫 C standard library

C 標准庫也可以在 C++ 中使用。

 

https://my.oschina.net/jthmath/blog/886195


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM