0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

C語言的重大更新 C++17標準發(fā)布

5RJg_mcuworld ? 2017-12-08 14:46 ? 次閱讀

最近,ISO C++ 委員會正式發(fā)布了 C++ 17 標準,正式名稱為 ISO/IEC 14882:2017。

基于 C++ 11,C++ 17 旨在使 C++ 成為一個不那么臃腫復雜的編程語言,以簡化該語言的日常使用,使開發(fā)者可以更簡單地編寫和維護代碼。

C++ 17 是對 C++ 語言的重大更新,引入了許多新的語言特性:

UTF-8 字符文字

折疊表達式 (fold expressions):用于可變的模板

內(nèi)聯(lián)變量 (inline variables):允許在頭文件中定義變量

在 if 和 switch 語句內(nèi)可以初始化變量

結(jié)構(gòu)化綁定 (Structured Binding):for (auto [key,value] : my_map) {…}

類模板參數(shù)規(guī)約 (Class Template Argument Deduction):用pair p{1, 2.0};替代pair{1, 2.0};

此外,C++ 17 還帶來了并行 STL,派生自 Boost 的文件系統(tǒng)庫等其他特性。作為標準庫中新的關(guān)鍵“詞匯類型”,std::string_view和std::optional將會以函數(shù)參數(shù)和返回類型的形式廣泛使用。這允許開發(fā)者編寫更簡單的簽名,例如:在字符串類型上可以用std::string_view替代模板化 (Templatizing);開發(fā)者可在函數(shù)體內(nèi)更多地用std::variant和std::any類型作為類成員,并內(nèi)部使用。

我們也曾報道過 C++ 17 的一些新特性,具體內(nèi)容可點此查看。

LLVM 的 Clang 編譯器也已經(jīng)將代碼中出現(xiàn)“C++1z”的地方修改為“C++17”(C++ 17 曾被稱為 C++1z)。GCC 和 LLVM/Clang 都有效地提供了完整的 C++ 17 支持。

對于正在進行中的 C++ 20,預計在兩年內(nèi)( 2019 年夏天)完成所有功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ISO
    ISO
    +關(guān)注

    關(guān)注

    0

    文章

    259

    瀏覽量

    39602
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2109

    瀏覽量

    73678

原文標題:C++17 標準正式發(fā)布,以后開發(fā)者可更簡單地編寫和維護代碼

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    C語言標準庫的基本使用

    寫出看起來專業(yè)的C代碼,除了規(guī)范的變量/函數(shù)命名,還需要熟練使用C語言標準庫。當為了數(shù)組拷貝自己編寫一個for循環(huán)的時候(可以用memcpy),其他讀者看到這種代碼,肯定會感嘆程序員
    發(fā)表于 09-14 14:04 ?705次閱讀

    C語言標準#硬聲創(chuàng)作季

    標準C語言
    學習電子
    發(fā)布于 :2022年10月27日 21:12:18

    1.5C語言C++、C++17、VC++

    C++
    電路設計
    發(fā)布于 :2023年01月10日 12:40:14

    C語言:標準和實現(xiàn)

    C 語言標準與實現(xiàn) The Standards and Implementations of the C Programming Language前言
    發(fā)表于 11-27 22:27 ?58次下載

    C語言標準庫函數(shù)

    C語言標準庫函數(shù),使用C語言編程時,常用到的函數(shù)。
    發(fā)表于 05-11 16:41 ?0次下載

    C語言標準與實現(xiàn)

    C語言標準與實現(xiàn) HENBUCUO BJBUI
    發(fā)表于 06-08 18:18 ?0次下載

    基于C語言標準庫函數(shù)

    基于C語言標準庫函數(shù)
    發(fā)表于 10-23 17:41 ?11次下載
    基于<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>標準</b>庫函數(shù)

    C51單片機C語言標準C語言有什么區(qū)別?

    一:C51(單片機C語言)與標準C語言的區(qū)別1、 C
    發(fā)表于 10-09 08:00 ?134次下載
    <b class='flag-5'>C</b>51單片機<b class='flag-5'>C</b><b class='flag-5'>語言</b>與<b class='flag-5'>標準</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>有什么區(qū)別?

    C++17 STL標準庫學習教材電子書免費下載

    C++11,C++14和C++17標準C++添加了許多新特性。當前的C++已經(jīng)和10年前的
    發(fā)表于 02-28 08:00 ?7次下載
    <b class='flag-5'>C++17</b> STL<b class='flag-5'>標準</b>庫學習教材電子書免費下載

    C51語言

    C51語言C51語言標準C語言間有許多相同地方,但
    發(fā)表于 11-21 15:21 ?26次下載
    <b class='flag-5'>C</b>51<b class='flag-5'>語言</b>

    C語言的發(fā)展歷史

    C語言于1972年11月問世,1978年美國電話電報公司(AT&T)貝爾實驗室正式發(fā)布C語言,1983年由美國國家
    的頭像 發(fā)表于 02-17 14:31 ?3159次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的發(fā)展歷史

    C++17引入的一個新特性void_t簡析

    void_t是C++17引入的一個新特性,它的定義很簡單(有些編譯器的實現(xiàn)可能不是這樣,但也大體類似)
    的頭像 發(fā)表于 03-06 09:37 ?1202次閱讀

    c++入門后如何進階

    C++11 是下一個 C++ 標準,但我們通常稱之為現(xiàn)代 C++?,F(xiàn)代 C++ 也包括了 C++
    發(fā)表于 07-21 08:56 ?348次閱讀
    <b class='flag-5'>c</b>++入門后如何進階

    C++98到C++26,經(jīng)歷了什么?

    上個月,C++26時間表發(fā)布,將會在“并發(fā)和并行性方面有重大改進”。而已經(jīng)推出的C++ 23版本則沿襲了C++17的傳統(tǒng)特征,完善了現(xiàn)有特性
    的頭像 發(fā)表于 08-09 16:01 ?1066次閱讀
    從<b class='flag-5'>C</b>++98到<b class='flag-5'>C</b>++26,經(jīng)歷了什么?

    a17和a16的參數(shù)區(qū)別

    a17和a16的參數(shù)區(qū)別? 在當今互聯(lián)網(wǎng)技術(shù)飛速發(fā)展的時代里,編程語言也在不斷的更新和改進。作為現(xiàn)代編程語言中的經(jīng)典之作,C++一直占據(jù)著重
    的頭像 發(fā)表于 08-16 11:47 ?1241次閱讀