首頁 >後端開發 >C++ >C 17 有哪些新增功能:主要功能和增強功能指南?

C 17 有哪些新增功能:主要功能和增強功能指南?

Linda Hamilton
Linda Hamilton原創
2024-12-07 06:01:15765瀏覽

What's New in C  17: A Guide to its Key Features and Enhancements?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn