命名空間
變體
動作

工具庫

出自 cppreference.com
< cpp
 
 
 

C++ 包含多種工具庫,提供的功能涵蓋從位元計數偏函數應用。這些函式庫可大致分為兩類:

  • 語言支援函式庫,以及
  • 通用工具庫。

目錄

[編輯] 語言支援

語言支援函式庫提供與語言特性緊密互動的類別與函式,並支援常見的語言慣用語。

[編輯] 實作屬性 (C++20 起)

標頭 <version> 提供關於 C++ 標準函式庫的實作相關資訊(例如版本號與發行日期)。它亦定義了函式庫特性測試巨集

[編輯] 型別支援

基本型別 (例如 std::size_t, std::nullptr_t), RTTI (例如 std::type_info)

[編輯] 程式工具

終止 (例如 std::abort, std::atexit), 環境 (例如 std::system), 訊號 (例如 std::raise)。

[編輯] 動態記憶體管理

智慧指標 (例如 std::shared_ptr), 配置器 (例如 std::allocatorstd::pmr::memory_resource), C 風格記憶體管理 (例如 std::malloc)。

[編輯] 錯誤處理

異常 (例如 std::exception, std::terminate), 斷言 (例如 assert)。

[編輯] 可變參數函式

支援接受任意數量參數的函式(透過例如 va_start, va_arg, va_end)。

[編輯] 初始化列表 (C++11 起)

定義於標頭檔 <initializer_list>
引用在 列表初始化 中建立的暫存陣列
(類別模板) [編輯]

[編輯] 原始碼資訊擷取 (C++20 起)

定義於標頭 <source_location>
表示原始碼資訊(如檔案名稱、行號與函式名稱)的類別
(類別) [編輯]

[編輯] 三向比較 (C++20 起)

定義於標頭 <compare>
指定運算子 <=> 在給定型別上產生一致的結果
(概念) [編輯]
支援所有 6 個運算子、不可替代且允許不可比較值的三向比較結果型別
(類別) [編輯]
支援所有 6 個運算子且不可替代的三向比較結果型別
(類別) [編輯]
支援所有 6 個運算子且可替代的三向比較結果型別
(類別) [編輯]
命名比較函式
(函式) [編輯]
實作 x <=> y 的受限函式物件
(類別) [編輯]
獲取三向比較運算子 <=> 在給定型別上的結果型別
(類別模板) [編輯]
所有給定型別皆可轉換為的最強比較類別
(類別模板) [編輯]
執行三向比較並產生 std::strong_ordering 型別的結果
(自訂點物件)[編輯]
執行三向比較並產生 std::weak_ordering 型別的結果
(自訂點物件)[編輯]
執行三向比較並產生 std::partial_ordering 型別的結果
(自訂點物件)[編輯]
執行三向比較並產生 std::strong_ordering 型別的結果,即使無法使用 operator<=>
(自訂點物件)[編輯]
執行三向比較並產生 std::weak_ordering 型別的結果,即使無法使用 operator<=>
(自訂點物件)[編輯]
執行三向比較並產生 std::partial_ordering 型別的結果,即使無法使用 operator<=>
(自訂點物件)[編輯]

[編輯] 協程支援 (C++20 起)

用於協程支援的型別 (例如 std::coroutine_traits, std::coroutine_handle)。

[編輯] 契約支援 (C++26 起)

用於契約支援的型別 (例如 std::contracts::contract_violation)。

[編輯] 通用工具

[編輯] 交換 (Swap)

定義於標頭檔 <utility>
交換兩個物件的值
(函式模板) [編輯]
(C++14)
以新值替換參數,並回傳其先前的值
(函式模板) [編輯]
定義於標頭 <concepts>
交換兩個物件的值
(自訂點物件)[編輯]

[編輯] 型別操作 (C++11 起)

定義於標頭檔 <utility>
(C++11)
轉發函式參數並使用型別模板參數以保留其值類別
(函式模板) [編輯]
將函式參數轉發,如同轉換為指定型別模板參數表達式的值類別與 const 性質
(函式模板) [編輯]
(C++11)
將參數轉換為 xvalue
(函式模板) [編輯]
若移動建構子不會丟擲異常,則將參數轉換為 xvalue
(函式模板) [編輯]
(C++17)
取得其參數的 const 引用
(函式模板) [編輯]
(C++11)
在未評估環境下,取得模板型別參數物件的引用
(函式模板) [編輯]
將列舉轉換為其底層型別
(函式模板) [編輯]

[編輯] 整數比較函式 (C++20 起)

定義於標頭檔 <utility>
比較兩個整數值,確保帶號負數小於無號數
(函式模板) [編輯]
(C++20)
檢查整數值是否在給定整數型別的範圍內
(函式模板) [編輯]

[編輯] 關係運算子 (C++20 前)

定義於標頭檔 <utility>
定義於命名空間 std::rel_ops
根據使用者定義的 operator==operator< 自動生成比較運算子
(函式模板) [edit]

[編輯] 建構標記 (C++11 起)

定義於標頭檔 <utility>
分段建構標記
(標記)[編輯]
就地建構標籤
(標籤)[編輯]
值建構標記
(標記)[編輯]

[編輯] 對組 (Pairs)元組 (Tuples)

定義於標頭檔 <utility>
實作二元元組,即一對值
(類別模板) [編輯]
定義於標頭檔 <tuple>
(C++11)
實作固定大小的容器,可儲存不同型別的元素
(類別模板) [編輯]
(C++17)
以參數元組呼叫函式
(函式模板) [編輯]
以參數元組建構物件
(函式模板) [編輯]
元組協定 (C++11 起)
定義於標頭檔 <tuple>
定義於標頭檔 <utility>
定義於標頭檔 <array>
定義於標頭檔 <ranges>
定義於標頭 <complex>
取得類元組型別的元素數量
(類別模板) [編輯]
取得類元組型別的元素型別
(類別模板) [編輯]

[編輯] 總和型別與型別擦除封裝 (C++17 起)

定義於標頭檔 <optional>
(C++17)
一個可能持有也可能不持有物件的封裝器
(類別模板) [編輯]
 
定義於標頭 <expected>
(C++23)
包含預期值或錯誤值的封裝器
(類別範本) [編輯]
 
定義於標頭 <variant>
(C++17)
一種型別安全的識別聯合體 (discriminated union)
(類別模板) [編輯]
 
定義於標頭檔 <any>
(C++17)
持有任何 CopyConstructible 型別實例的物件
(類別) [編輯]

[編輯] 位元集 (Bitset)

定義於標頭 <bitset>
實作固定長度位元陣列
(類別模板) [編輯]

[編輯] 位元操作 (C++20 起)

標頭 <bit> 提供多個函式模板以存取、操作及處理個別位元與位元序列。純量型別的位元組順序(位元組序 (Endianness))可透過 std::endian 功能進行檢查。

[編輯] 函式物件 (C++11 起)

偏函數應用 (例如 std::bind) 及相關工具:用於繫結的工具(如 std::refstd::placeholders)、多型函式封裝:std::function、預定義函子 (例如 std::plus, std::equal_to)、成員指標轉函式轉換器 std::mem_fn

[編輯] 雜湊支援 (C++11 起)

定義於標頭檔 <functional>
(C++11)
雜湊函式物件
(class template) [edit]

[編輯] 參閱

C 文件工具庫
English Deutsch 日本語 中文(简体) 中文(繁體)