C 基礎概念講述

2022-09-21 08:39:12 字數 1235 閱讀 7474

目錄

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

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

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

2、compiler explorer (godbolt.org) :****編輯,可以直接生成彙編**,可選擇不同的編譯器和版本,功能強大;

3、c++ insights (cppinsights.io) :乙個可以將c++**及逆行翻譯的網頁,具體化**高階功能;

簡單來說,c++是c語言的擴充套件,主要有以下兩方面;

首先關注效能方面,這是繼承於c語言的特性:

接著是擴充套件部分,引入大量特性,便於工程實踐

三種程式設計正規化:面向過程、物件導向、泛型

函式過載、異常處理、引用

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

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

開啟**:

執行其中的案例可以發現,輸出的數從大到小;

其實在硬體底層,存放記憶體的位址分為大端法和小端法,而c++可以很好的適應不同硬體的儲存方式,這樣有助於提公升效能,相比來說,j**a就不考慮這些,導致資料存放到記憶體還需要再做一些處理,會增加一定的時間;

這裡我們使用c++與c#做比較,對於c#而言,使用完乙個物件並不用關注銷毀,底層會自動進行銷毀(垃圾**機制);而c++從物件的建立、使用到銷毀都需要使用者自己執行,不需要系統額外引用機制;這裡有兩個需要平衡的點,也就是易用和效能,這兩者是有一定取捨的;

下面是c++和c#對於異常的處理方式:

造成這處理異常不同的原因就是生命週期精確控制引發的,finally主要是用來顯式銷毀物件;

對生命週期的精準控制的好處:能夠及時釋放資源,並且不需要額外資源(執行緒)進行垃圾**,提高了效能;

主要包含以下兩點:

不需要為沒有使用的語言特性付出代價

例如虛函式,或者說在堆或棧構造物件,可以通過這個例子來理解程式設計客棧:compiler explorer (godbolt.org)

使用一些語言特性不等於付出執行期成本

可以通過這個例子來理解:compiler explorer (godbolt.org)

我們呼叫函式並沒有付出函式中的執行成本,這也是由於函www.cppcns.com數在編譯期執行;

C void基礎概念講述

c void意思是指無型別。那麼void指標則是無型別指標。他們的基本概念我們將會在這篇文章中為大家詳細介紹。c 程式語言中的很多概念都值得我們去不斷的學習,不斷的從中積累經驗以幫助我們在程式編寫時獲得更大的幫助。比如今天為大家介紹的c void就是ige比較重要的內容。許多初學者對c void及v...

C 基礎概念

1 override與過載的區別 override修飾符,覆寫乙個基類中的方法.過載則是將將同名方法重新寫過,達到同名的函式實現不同的功能.從而實現了乙個方法有不同的版 本.override與過載的本質區別是,加入了override的修飾符的方法,此方法始終只有乙個被你使用的方法.這個區別就好像 o...

C 基礎概念

面相物件開發 特性 封裝 繼承 繼承 多型 2.標準庫 核心語言,提供所有構件塊,包括變數 資料型別和常量等。c 標準庫,提供大量庫函式,用於操作檔案 字串等。標準模板庫 stl 提供了大量的方法,用於運算元據結構等。3.所有便攜遵循ansi 標準?4.環境設定 有文字編輯器 輸入 notepad軟...