最全C++11/14/17/20/23 的新特性代碼案例


最全C++11/14/17/20/23 的新特性代碼案例

來源 https://zhuanlan.zhihu.com/p/389895793

 

C++11新特性

關鍵字

新增關鍵字

含義變化或者新增含義關鍵字(meaning changed or new meaning added)

 

類型支持(基本類型、RTTI、類型特性)

Defined in header <type_traits>

 

STL容器

無序容器

元組std::tuple

hash

 

智能指針

 

正則表達式

 

函數

非靜態成員函數

函數對象模板

 

 

模板

 

原子操作

 

線程

 

異常

 

錯誤

 

新語法

預處理

C++宏(cplusplus macro)

基於范圍的for語句

對齊支持(alignment support)

顯式轉換操作符(explicit conversion operators)

靜態斷言(static assert)

  • 語法:static_assert(常量表達式,"提示字符串")
  • static assert

數字限制(numeric limits)

原始字符串(raw string)

追蹤返回類型語法(trailing return type syntax)

擴展的friend語法(extended friend syntax)

擴展的整型(extended integer types)

非受限聯合體(unrestricted union)

內聯名字空間(lnline namespace)

用戶定義的字面量(user-defined literals)

強類型枚舉(scoped and strongly typed enums)

隨機裝置(random device)

std::ref和std::cref

常量表達式(constexpr)

lamda表達式

指針空值(nullptr)

防止類型收窄(Preventing narrowing)

初始化列表(initializer lists)

統一的初始化語法和語義(Uniform initialization syntax and semantics)

POD(plain old data)

long long整型

移動語義(move semantics)

右值引用(rvalue reference)

c99特性(c99)

一般化的SFINAE規則(generalized SFINAE rules)

 

C++14新特性

類型支持(基本類型、RTTI、類型特性)

Defined in header<type_traits>

Defined in header<utility>

Defined in header<initializer_list>

Defined in header<iterator>

Defined in namespace std

Defined in header <array>

Defined in header <deque>

Defined in header <forward_list>

Defined in header <iterator>

Defined in header <list>

Defined in header <map>

Defined in header <regex>

Defined in header <set>

Defined in header <span>

Defined in header <string>

Defined in header <string_view>

Defined in header <unordered_map>

Defined in header <unordered_set>

Defined in header <vector>

Defined in namespace std

 

C++17新特性

關鍵字

含義變化或者新增含義關鍵字(meaning changed or new meaning added)

類型支持(基本類型、RTTI、類型特性)

Defined in header<type_traits>

Defined in header<utility>

Defined in header<tuple>

Defined in header<optional>

Defined in header<variant>

Defined in header<any>

Defined in header<charconv>

Defined in header<initializer_list>

容器庫

Defined in header<map>

Defined in header<unordered_map>

Defined in header <array>

Defined in header <deque>

Defined in header <forward_list>

Defined in header <iterator>

Defined in header <list>

Defined in header <map>

Defined in header <regex>

Defined in header <set>

Defined in header <span>

Defined in header <string>

Defined in header <string_view>

Defined in header <unordered_map>

Defined in header <unordered_set>

Defined in header <vector>

Defined in namespace std

 

C++20新特性

關鍵字

新增關鍵字

含義變化或者新增含義關鍵字(meaning changed or new meaning added)

類型支持(基本類型、RTTI、類型特性)

Defined in header<type_traits>

協程支持

Defined in header<coroutine>

三路比較

Defined in header<compare>

Defined in header<concepts>

Defined in header<utility>

Defined in header<format>

Defined in header<memory>

Defined in header<memory_resource>

Concepts library(概念庫)

Defined in header<concepts>

動態內存管理

Defined in header<memory>

日期和時間工具

Defined in header<chrono>

字符串

Defined in header<string>

Defined in header<string_view>

Defined in header<cuchar>

容器庫

Defined in header<array>

Defined in header<vector>

Defined in header<map>

Defined in header<unordered_map>

Defined in header<span>

Defined in namespace std

Defined in namespace std::ranges

Defined in namespace std

Defined in header

Defined in namespace std

Defined in header

Defined in header <array>

Defined in header <deque>

Defined in header <forward_list>

Defined in header <iterator>

Defined in header <list>

Defined in header <map>

Defined in header <regex>

Defined in header <set>

Defined in header <span>

Defined in header <string>

Defined in header <string_view>

Defined in header <unordered_map>

Defined in header <unordered_set>

Defined in header <vector>

Defined in namespace std

Defined in header <ranges>

Defined in header <iterator>

Defined in namespace std::ranges

 

C++23新特性

類型支持(基本類型、RTTI、類型特性)

Defined in header<type_traits>

Defined in header<utility>

Defined in header<stacktrace>

動態內存管理

Defined in header<memory>

字符串

Defined in header<string>

Defined in header<string_view>

 

=============== End

 


免責聲明!

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



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