最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++基礎概念講述

 更新時間:2022年01月24日 16:41:55   作者:一個熱愛學習的深度渣渣  
這篇文章主要介紹了C++基礎概念,??本次為C++的一個開篇,重點是更好的理解C++相對于其他編程語言的一個特性,之后會持續(xù)更新,本次專欄計劃是掌握C++的基礎語法以及常用特性,并且從細節(jié)上去理解,需要的朋友可以參考一下

首先,通過一張最新(2021.11)的編程語言排名圖來了解常見的編程語言:

從圖中可以看出,C++的排名相對于Python、Java、C來說并不突出,很大的原因是因為C++難度過大,也可以說是知識點太多,我們很難說能精通C++這門語言,只能說對它的部分了解,并能在工作中使用;

1.C++相關(guān)網(wǎng)站推薦

1、cppreference.com:這是一個C++最具權(quán)威的百科全書,但只有英文模式,相信大家可以看懂的;

2、Compiler Explorer (godbolt.org) :在線代碼編輯,可以直接生成匯編代碼,可選擇不同的編譯器和版本,功能強大;

3、C++ Insights (cppinsights.io) :一個可以將C++代碼及逆行翻譯的網(wǎng)頁,具體化代碼高級功能;

2.C++和C的關(guān)系

簡單來說,C++是C語言的擴展,主要有以下兩方面;

首先關(guān)注性能方面,這是繼承于C語言的特性:

  • 與底層硬件緊密結(jié)合
  • 對象生命周期的精確控制
  • Zero-overhead Abstraction

接著是擴展部分,引入大量特性,便于工程實踐

三種編程范式:面向過程、面向?qū)ο?、泛?br />函數(shù)重載、異常處理、引用

最后,C++也是一系列不斷演進的標準集合

  • C++98、C++11、C++14、C++17、C++20、C++23?
  • 語言本身的改進(例如Memory Model、Lambda Expressiomn)
  • 標準庫的改進(auto_ptr、type_train/ranges)
  • C++標準的工業(yè)實現(xiàn)(MSVC、GCC、Clang)等編譯器還存在差異;

3.C++特性說明

下面通過具體案例來說明上面列出的點

3.1與底層硬件緊密結(jié)合

打開網(wǎng)站: https://godbolt.org/z/xPq6e9

運行其中的案例可以發(fā)現(xiàn),輸出的數(shù)從大到??;

? 其實在硬件底層,存放內(nèi)存的地址分為大端法和小端法,而C++可以很好的適應不同硬件的存儲方式,這樣有助于提升性能,相比來說,JAVA就不考慮這些,導致數(shù)據(jù)存放到內(nèi)存還需要再做一些處理,會增加一定的時間;

3.2對象生命周期的精確控制

? 這里我們使用C++與C#做比較,對于C#而言,使用完一個對象并不用關(guān)注銷毀,底層會自動進行銷毀(垃圾回收機制);而C++從對象的創(chuàng)建、使用到銷毀都需要使用者自己執(zhí)行,不需要系統(tǒng)額外引用機制;這里有兩個需要平衡的點,也就是易用和性能,這兩者是有一定取舍的;

下面是C++和C#對于異常的處理方式:

造成這處理異常不同的原因就是生命周期精確控制引發(fā)的,F(xiàn)inally主要是用來顯式銷毀對象;

對生命周期的精準控制的好處:能夠及時釋放資源,并且不需要額外資源(線程)進行垃圾回收,提高了性能;

3.3Zero-Overhead Abstraction

主要包含以下兩點:

不需要為沒有使用的語言特性付出代價
例如虛函數(shù),或者說在堆或棧構(gòu)造對象,可以通過這個例子來理解:Compiler Explorer (godbolt.org)

使用一些語言特性不等于付出運行期成本
可以通過這個例子來理解:Compiler Explorer (godbolt.org)

我們調(diào)用函數(shù)并沒有付出函數(shù)中的運行成本,這也是由于函數(shù)在編譯期執(zhí)行;

到此這篇關(guān)于C++基礎概念講述的文章就介紹到這了,更多相關(guān)C++基礎概念內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用C語言實現(xiàn)順序表的實例操作

    利用C語言實現(xiàn)順序表的實例操作

    順序表是線性表中的一種重要的數(shù)據(jù)結(jié)構(gòu),也是最基礎的數(shù)據(jù)結(jié)構(gòu),所以他不僅是學習中的重點,也是應用開發(fā)非常常用的一種數(shù)據(jù)結(jié)構(gòu)。這篇文章介紹如何利用C語言實現(xiàn)順序表。
    2016-08-08
  • C語言程序打豆豆(函數(shù)版)

    C語言程序打豆豆(函數(shù)版)

    今天小編就為大家分享一篇關(guān)于C語言程序打豆豆(函數(shù)版),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • C++的STL中accumulate函數(shù)的使用方法

    C++的STL中accumulate函數(shù)的使用方法

    這篇文章主要介紹了C++的STL中accumulate的使用方法,accumulate作用是累加求和即自定義類型數(shù)據(jù)處理,下文具體的操作方法需要的小伙伴可以參考一下
    2022-03-03
  • C++異步操作future和aysnc與function和bind

    C++異步操作future和aysnc與function和bind

    這篇文章主要介紹了C++異步操作future和aysnc與function和bind,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • C語言數(shù)據(jù)結(jié)構(gòu)鏈表隊列的實現(xiàn)

    C語言數(shù)據(jù)結(jié)構(gòu)鏈表隊列的實現(xiàn)

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)鏈表隊列的實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • C/C++實現(xiàn)跨文件共享全局變量詳解

    C/C++實現(xiàn)跨文件共享全局變量詳解

    這篇文章主要為大家詳細介紹了C/C++如何實現(xiàn)跨文件共享全局變量,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • C++實現(xiàn)圖書管理系統(tǒng)

    C++實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • c++中的string常用函數(shù)用法總結(jié)

    c++中的string常用函數(shù)用法總結(jié)

    以下是對c++中的string常用函數(shù)的用法進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • C中的volatile使用方法

    C中的volatile使用方法

    volatile 影響編譯器編譯的結(jié)果,指出,volatile 變量是隨時可能發(fā)生變化的,與volatile變量有關(guān)的運算,不要進行編譯優(yōu)化,以免出錯
    2013-02-02
  • C語言實現(xiàn)循環(huán)鏈表

    C語言實現(xiàn)循環(huán)鏈表

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)循環(huán)鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07

最新評論

漳平市| 鸡西市| 宣化县| 松滋市| 张家川| 桑日县| 德州市| 洛阳市| 尼勒克县| 阿拉善左旗| 慈溪市| 囊谦县| 全椒县| 白城市| 赤壁市| 天水市| 普陀区| 高台县| 苏尼特右旗| 广元市| 彝良县| 喀喇沁旗| 阳城县| 镇宁| 沭阳县| 商南县| 恩施市| 宜兰县| 土默特左旗| 共和县| 林周县| 延吉市| 昭平县| 通许县| 云阳县| 贵定县| 芦溪县| 佛山市| 手机| 巴塘县| 榆树市|