for
do-while
inline
noexcept
throw
try
catch
const
volatile
typedef
new
delete
this
friend
override
final
這是核心 C++ 語言構造的參考。
基本概念
註釋 ASCII 表 標點 名稱和識別符號 型別 – 基本型別 物件 – 作用域 – 生命週期 定義和 ODR 名稱查詢 限定 – 非限定 (ADL) “好像”規則 未定義行為 (UB) 記憶體 – 多執行緒 (C++11) 字元集和編碼 翻譯階段 main 函式 模組 (C++20) 契約 (C++26)
main
關鍵詞
預處理器
#if - #ifdef - #ifndef - #elif #elifdef - #elifndef (C++23) #define - # - ## #include - #pragma #line - #error #warning (C++23)
#if
#ifdef
#ifndef
#elif
#elifdef
#elifndef
#define
#
##
#include
#pragma
#line
#error
#warning
表示式
值類別 求值順序 常量表達式 運算子 賦值 – 算術 增量和減量 邏輯 – 比較 成員訪問 呼叫、逗號、三元 sizeof – alignof (C++11) new – delete – typeid 替代表示 預設比較 (C++20) 運算子優先順序 轉換 隱式 – 顯式 使用者定義 常用算術轉換 static_cast – dynamic_cast const_cast reinterpret_cast 字面量 (轉義序列) 布林 – 整型 – 浮點型 字元 – 字串 nullptr (C++11) 使用者定義 (UDL) (C++11)
sizeof
alignof
typeid
static_cast
dynamic_cast
const_cast
reinterpret_cast
nullptr
宣告
衝突宣告 儲存期和連結 翻譯單元區域性 (C++20) 語言連結 名稱空間宣告 命名空間別名 引用 – 指標 – 陣列 結構化繫結 (C++17) 列舉和列舉數 inline 說明符 內聯彙編 const/volatile constexpr (C++11) consteval (C++20) constinit (C++20) decltype (C++11) auto (C++11) typedef – 類型別名 (C++11) 顯式型別說明符 屬性 (C++11) alignas (C++11) static_assert (C++11)
constexpr
consteval
constinit
decltype
auto
alignas
static_assert
初始化
預設初始化 值初始化 複製初始化 直接初始化 聚合初始化 列表初始化 (C++11) 引用初始化 靜態非區域性初始化 零 – 常量 動態非區域性初始化 有序 – 無序 複製消除 (RVO)
函式
函式宣告 預設引數 變長引數 Lambda 表示式 (C++11) 過載決議 運算子過載 過載集地址 協程 (C++20) 替換函式
語句
if – switch for – range-for (C++11) while – do-while continue – break goto – return contract_assert (C++26) synchronized/atomic (TM TS)
if
switch
while
do
continue
break
goto
return
contract_assert
synchronized
atomic
類
類型別 – 聯合型別 注入類名 資料成員 – 位欄位 成員函式 – this 指標 靜態成員 – 巢狀類 派生類 – using 宣告 空基類最佳化 (EBO) 虛擬函式 – 抽象類 (ABC) override (C++11) – final (C++11) 成員訪問 – friend 建構函式和成員初始化列表 預設建構函式 – 解構函式 複製建構函式 – 複製賦值 移動建構函式 (C++11) 移動賦值 (C++11) 轉換建構函式 explicit 說明符
using
explicit
模板
模板引數和實參 類模板 – 函式模板 變數模板 (C++14) 類成員模板 模板引數推導 函式 – 類 (CTAD) (C++17) 顯式特化 – 部分特化 引數包 (C++11) sizeof... (C++11) 摺疊表示式 (C++17) 包索引 (C++26) 依賴名稱 – SFINAE 約束和概念 (C++20) Requires 表示式 (C++20)
sizeof...
異常
try 塊 丟擲異常 處理異常 異常規範 noexcept 規範 (C++11) 動態規範 (直到 C++17*) noexcept 運算子 (C++11)
雜項
C++ 歷史 擴充套件名稱空間 std 縮略語: AFO, CPO, IFNDR, NDR, NTBS, NTTP, RAO, SOCCC, TMP, TU
習語
奇異遞迴模板模式 (CRTP) 指標到實現 (PIMPL) 資源獲取即初始化 (RAII) 三/五/零法則 零開銷原則