C 17 有哪些新功能?
C 17 為此語言帶來了許多增強和補充,包括:
語言功能:
- 模板類的模板參數推導
-
現代化使用with ...和列表: 為使用std: 提供更清晰的語法: initializer_list.
-
更乾淨的多重返回和流控制:引入了結構化綁定和if constexpr 等功能,簡化了複雜的控制流程場景。
-
基於範圍的通用 for 迴圈: 擴展基於範圍的 for 迴圈以支援哨兵和非容器類型。
-
指標轉換的陣列修復:解決了將指標陣列轉換為不同指標類型的問題。
庫新增:
-
資料型別: 新增std::variant、std::optional、std:: any 和std::string_view增強資料處理和操作。
-
invoke stuff:引入 std::invoke 和 std::apply 來簡化函式呼叫和參數處理。
-
檔案System TS v1: 提供檔案系統標準化API
-
新演算法:包含transform_reduce、exclusive_scan等演算法,針對並行性和效率進行了優化。
-
執行緒:增強執行緒功能具有 std::shared_mutex 和其他功能。
-
函式庫基礎 TS v1: 提供搜尋演算法、多型分配器和其他實用程式的功能。
-
容器改進: 增加 try_emplace、insert_or_assign、拼接等以改善容器處理。
-
智慧型指標變更: 包含修復和對 unique_ptr 和weak_from_this 的增強。
-
其他: 包括 std::clamp、std::lcm 等實用函數,擴展了標準函式庫的功能。
已棄用並刪除功能:
-
刪除:註冊關鍵字、三字母組、ios 別名等。
-
已棄用: std 中的分配器::函數和一些C
注意:
注意:注意:注意: 某些功能可能無法在所有編譯器中使用,直到它們支援C 1z(包括C 17和其他更新) .請參閱官方文件以了解全面的詳細資訊和規格。
以上是C 17 有哪些新增功能:主要功能和增強功能指南?的詳細內容。更多資訊請關注PHP中文網其他相關文章!