RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

C語言的重大更新 C++17標(biāo)準(zhǔn)發(fā)布

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

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

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

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

UTF-8 字符文字

折疊表達(dá)式 (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)庫(kù)等其他特性。作為標(biāo)準(zhǔn)庫(kù)中新的關(guān)鍵“詞匯類型”,std::string_view和std::optional將會(huì)以函數(shù)參數(shù)和返回類型的形式廣泛使用。這允許開發(fā)者編寫更簡(jiǎn)單的簽名,例如:在字符串類型上可以用std::string_view替代模板化 (Templatizing);開發(fā)者可在函數(shù)體內(nèi)更多地用std::variant和std::any類型作為類成員,并內(nèi)部使用。

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

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

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

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

    關(guān)注

    0

    文章

    255

    瀏覽量

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

    關(guān)注

    22

    文章

    2108

    瀏覽量

    73618

原文標(biāo)題:C++17 標(biāo)準(zhǔn)正式發(fā)布,以后開發(fā)者可更簡(jiǎn)單地編寫和維護(hù)代碼

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語言標(biāo)準(zhǔn)庫(kù)的基本使用

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

    C語言標(biāo)準(zhǔn)#硬聲創(chuàng)作季

    標(biāo)準(zhǔn)C語言
    學(xué)習(xí)電子
    發(fā)布于 :2022年10月27日 21:12:18

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

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

    C語言:標(biāo)準(zhǔn)和實(shí)現(xiàn)

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

    C語言標(biāo)準(zhǔn)庫(kù)函數(shù)

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

    C語言標(biāo)準(zhǔn)與實(shí)現(xiàn)

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

    基于C語言標(biāo)準(zhǔn)庫(kù)函數(shù)

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

    C51單片機(jī)C語言標(biāo)準(zhǔn)C語言有什么區(qū)別?

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

    C++17 STL標(biāo)準(zhǔn)庫(kù)學(xué)習(xí)教材電子書免費(fèi)下載

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

    C51語言

    C51語言C51語言標(biāo)準(zhǔn)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年美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)布C語言,1983年由美國(guó)國(guó)家
    的頭像 發(fā)表于 02-17 14:31 ?3110次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的發(fā)展歷史

    C++17引入的一個(gè)新特性void_t簡(jiǎn)析

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

    c++入門后如何進(jìn)階

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

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

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

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

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