精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

分享一些C++的歷史進程

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 作者:黃工的嵌入式技術 ? 2020-01-09 14:20 ? 次閱讀

在2019年7月,ISO WG21委員會批準了C++ 20的完整草案,11月獲得批準,意味著C++ 20將會在今年成為標準。

C++ 軟件工程師 Bartek 發(fā)布博客,回顧了 C++ 2019 年的發(fā)展情況。

Bartek 主要介紹了 2019 年 C++ 特性上的演進、在全球的會議重大進展、相關工具的改進,以及 C++20 新特性的期待。

他總結成三大關注點:

C++20 即將發(fā)布

工具,現(xiàn)在編寫 C++ 代碼更加容易

C++ 在開發(fā)者中的穩(wěn)定地位

從下表可以看出來,在 2019 年,C++ 社區(qū)做了許多事情,像我們關注的新特性方面的進展也有不少,比如 Clang 8.0.0、9.0.0 發(fā)布、VS 2019 發(fā)布與 GCC 9.1 發(fā)布等。

簡單總結起來,從 Clang 5.0、GCC 8.0、Visual Studio 15.7 和 Intel C++ Compiler 19.0.1 開始,所有編譯器都支持 C++ 語言特性。

雖然 C++ 標準庫需要其它支持,特別是并行算法和文件系統(tǒng)之類的要點。std::filesystem需要使用到 GCC 8.1(或更高版本的 GCC 9.1)、Clang 3.9(或更高版本 7.0)和 Visual Studio 2017 15.7。

并行算法更新最早在 Visual Studio 2017 15.7 中可用,但隨著之后的更新,MSVC 團隊添加了更多算法。

關于 C++20 的討論在今年占據(jù)主導地位,目前特性已經(jīng)凍結,主要特性包括:

模組

協(xié)程

標準庫 Concepts 的概念

范圍

constexpr支持:new/ delete,dynamic_cast,try/ catch,虛擬

constexpr 向量和字符串

計時:日歷、時區(qū)支持

std::format

std::span

std::jthread

目前流行的編譯器已經(jīng)實現(xiàn)了許多 C++20 特性。Bartek 列了一個 C++20 新特性的小表:

工具方面,首先 Visual Studio 對 C++ 提供了眾多新的支持,包括:

使用 Visual Studio IntelliCode 的 AI 輔助代碼補全。

C++ MSBuild 和 CMake 項目中對 Clang 和 MSVC 的 Clang-Tidy 的支持。

AddressSanitizer 支持 Windows 上使用 MSVC 編譯的項目。

與 CMake 更好地集成。

Concepts 在 16.3 中可用。

全面的to_chars()支持,滿足了 C++ 17 的要求。

提供了一個名為 C++ Build Insights 的新工具集合。

Clang/LLVM 提供了許多強大的實用程序,比如:

Clang Tidy

Clang-Include-Fixer

AddressSanitizer

MemorySanitizer

代碼分析器 CppDepend v2019.3 增加了對 MISRA 編碼準則的支持,VS 2019 支持、QT 項目、簡化的 UI、嵌入式項目支持。

PVS-Studio,這是一個使用 C/C++ 和 C# 編寫的程序源代碼中的錯誤檢測工具,2019 年的一些顯著變化包括 .NET Core 3 和 3.1 項目分析、MISRA 準則支持、40 多項新檢查、對 Java、SonarQube 插件的支持。

包管理器 Conan 與 Microsoft/vcpkg 也都有一些新變化。

最后 Bartek 介紹了 2019 年 C++ 在開發(fā)者人群中的地位依然穩(wěn)定:

TIOBE 編程語言排行榜中 C++ 排到了第 4 位。

在 StackOverflow 調(diào)查中,C++ 位于 C 上方的第 9 位。

在 GitHub 的調(diào)查中,C++ 排名第 6。

除了這些榜單,Bartek 自己也做了一個簡單的調(diào)查問卷,結果顯示了關于 C++ 的使用情況,包括使用的標準庫版本、工具的選擇與對 C++20 新特性的使用等:

總而言之,我認為未來十年我對C ++持樂觀態(tài)度。不知道以后會發(fā)生什么,但是在接下來的十年中,我相信C ++應該處于相對穩(wěn)定的位置。

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

    關注

    59

    文章

    1566

    瀏覽量

    68448
  • C++
    C++
    +關注

    關注

    22

    文章

    2104

    瀏覽量

    73502
  • 代碼
    +關注

    關注

    30

    文章

    4752

    瀏覽量

    68364
收藏 人收藏

    評論

    相關推薦

    C++新手容易犯的十個編程錯誤

    簡單的總結下?C++ 新手容易犯的一些編程錯誤,給新人們提供個參考。 1 有些關鍵字在 cpp 文件中多寫了 對于 C++ 類,
    的頭像 發(fā)表于 11-15 12:42 ?220次閱讀

    文搞懂Linux進程的睡眠和喚醒

    。通過PPID,可以追蹤進程的來源,并了解進程之間的關系。 在PCB中記錄的進程狀態(tài),不過是一些整數(shù),這個整數(shù)是多少就代表進程此時處于什么
    發(fā)表于 11-04 15:15

    ModusToolbox 3.2在c代碼中包含c++代碼的正確步驟是什么?

    使用 ModusToolbox 3.2 我有個用純 C 語言編寫的 XMC4700 項目。 我正在嘗試添加一些 C++ 函數(shù),并將其合并到我的原始代碼中。 我可以構建獨立的 .cpp
    發(fā)表于 07-23 08:21

    C++中實現(xiàn)類似instanceof的方法

    C++有多態(tài)與繼承,但是很多人開始學習C++,有時候會面臨個常見問題,就是如何向下轉型,特別是不知道具體類型的時候,這個時候就希望C++ 可以向Java或者Python中有insta
    的頭像 發(fā)表于 07-18 10:16 ?538次閱讀
    <b class='flag-5'>C++</b>中實現(xiàn)類似instanceof的方法

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯誤

    在前兩篇博客中,我們?向您介紹了新的 MISRA C++ 標準?和?C++歷史?。在這篇博客中,我們將仔細研究以 C++ 中?for?循環(huán)為中心的特定規(guī)則。
    的頭像 發(fā)表于 03-28 13:53 ?740次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯誤

    請問CubeIDE如何支持C++的開發(fā)?

    CubeIDE如何支持C++的開發(fā)。有沒有一些例程。
    發(fā)表于 03-25 06:22

    介紹C語言中錯誤處理和異常處理的一些常用的方法和策略

    C語言是種低級的、靜態(tài)的、結構化的編程語言,它沒有提供像C++或Java等高級語言中的異常處理機制,例如try-catch-finally等。
    的頭像 發(fā)表于 02-28 14:25 ?591次閱讀

    簡單總結下嵌入式C++中常見的錯誤形式

    對于 C++ 類,一些關鍵字只要寫在 .h 中就好,cpp 中就不用再加上了,比如 virtual、static 等關鍵字,如果在 cpp 中多寫,編譯器會報錯。
    的頭像 發(fā)表于 02-23 09:40 ?448次閱讀

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點和特點。 C語言: C語言是種面向過程的編程語言。它具有底層的特性,能
    的頭像 發(fā)表于 02-05 14:11 ?2254次閱讀

    C++在Linux內(nèi)核開發(fā)中從爭議到成熟

    Linux 內(nèi)核郵件列表中篇已有六年歷史的老帖近日再次引發(fā)激烈討論 —— 主題是建議將 Linux 內(nèi)核的開發(fā)語言從 C 轉換為更現(xiàn)代的 C++
    的頭像 發(fā)表于 01-31 14:11 ?593次閱讀
    <b class='flag-5'>C++</b>在Linux內(nèi)核開發(fā)中從爭議到成熟

    C++簡史:C++是如何開始的

    的 MISRA C++:2023 博客系列的第二部分。 在這篇博客中,我們將深入探討 C++歷史、編程語言多年來的發(fā)展歷程以及它的下步發(fā)展方向。
    的頭像 發(fā)表于 01-11 09:00 ?542次閱讀
    <b class='flag-5'>C++</b>簡史:<b class='flag-5'>C++</b>是如何開始的

    如何使用SystemC做RTL和C/C++的聯(lián)合仿真呢?

    當FPGA開發(fā)者需要做RTL和C/C++聯(lián)合仿真的時候,一些常用的方法包括使用MicroBlaze軟核,或者使用QEMU仿真ZYNQ的PS部分。
    的頭像 發(fā)表于 12-13 10:13 ?1207次閱讀
    如何使用SystemC做RTL和<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>的聯(lián)合仿真呢?

    介紹種通過SystemC做RTL/C/C++聯(lián)合仿真的方法

    當FPGA開發(fā)者需要做RTL和C/C++聯(lián)合仿真的時候,一些常用的方法包括使用MicroBlaze軟核,或者使用QEMU仿真ZYNQ的PS部分。
    的頭像 發(fā)表于 12-13 10:11 ?1847次閱讀
    介紹<b class='flag-5'>一</b>種通過SystemC做RTL/<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>聯(lián)合仿真的方法

    C語言和C++中那些不同的地方

    C語言雖說經(jīng)常和C++起被大家提起,但可千萬不要以為它們是個東西。現(xiàn)在我們常用的C語言是C
    的頭像 發(fā)表于 12-07 14:29 ?917次閱讀
    <b class='flag-5'>C</b>語言和<b class='flag-5'>C++</b>中那些不同的地方

    回顧蘋果自研芯片的歷史進程

     蘋果尚未生產(chǎn)其設備中的所有芯片。例如,調(diào)制解調(diào)器是該公司尚未獨自攻克的大組件。
    發(fā)表于 12-06 09:17 ?1074次閱讀