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

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

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

從入門到實(shí)戰(zhàn),教你如何學(xué)習(xí)C++

C語言編程學(xué)習(xí)基地 ? 來源:C語言編程學(xué)習(xí)基地 ? 作者:C語言編程學(xué)習(xí)基地 ? 2022-09-07 15:50 ? 次閱讀

C++是一種通用的、面向?qū)ο蟮?a target="_blank">編程語言,可用于開發(fā)操作系統(tǒng)、游戲、圖形用戶界面、后端以及高性能系統(tǒng)和應(yīng)用程序。

所以,盡管Python、Go這些后起之秀近幾年熱度非常高,但是在很多領(lǐng)域還是無法撼動(dòng)C++的地位。

今天,就從淺到深,從入門到實(shí)戰(zhàn),教你如何學(xué)習(xí)C++。

篇幅較長(zhǎng),先給出本文的目錄:

C++簡(jiǎn)介

什么是C++?

為什么學(xué)C++?

C++的歷史

C和C++的區(qū)別

編譯型語言和解釋型語言

從入門到實(shí)戰(zhàn)

開發(fā)環(huán)境

C++入門

C++練習(xí)

C++實(shí)戰(zhàn)

C++進(jìn)階

學(xué)習(xí)資源

書籍

視頻課程

開源項(xiàng)目

下面,就正式開始本文的正式內(nèi)容吧!因?yàn)闀r(shí)間問題,整個(gè)大綱暫時(shí)只寫完了一半,所以今天只分享到開發(fā)環(huán)境為止,其他內(nèi)容我們明天再給大家分享吧!

C++簡(jiǎn)介

什么是C++?

現(xiàn)如今,流行的編程語言非常多,Python、Go、Java、PHP、JavaScript等等,它們各有自己擅長(zhǎng)的領(lǐng)域和方向。

而C++則在系統(tǒng)資源和內(nèi)存控制更勝一籌,因此,在操作系統(tǒng)、圖形圖像、游戲、嵌入式這些對(duì)性能要求較高的領(lǐng)域,C++一直都具有不可替代的地位。

它可以用來開發(fā)在多個(gè)平臺(tái)上運(yùn)行的應(yīng)用程序,如服務(wù)器、個(gè)人電腦、基于云的系統(tǒng)和移動(dòng)設(shè)備。

為什么學(xué)C++?

如果你對(duì)計(jì)算機(jī)游戲、高端計(jì)算項(xiàng)目的軟件工程、加密貨幣挖礦程序和開發(fā)移動(dòng)設(shè)備的操作系統(tǒng)等領(lǐng)域感興趣,學(xué)習(xí)C++則是必不可少的。

此外,相對(duì)于Go、Python這些更加高階的編程語言,會(huì)涵蓋更加全面的編程知識(shí),也有助于學(xué)習(xí)者理解變量、函數(shù)、面向?qū)ο蟆⒅羔?、?nèi)存...這些在很多高階語言中容易被忽略的概念和知識(shí)。

C++的歷史

C++是由丹麥計(jì)算機(jī)科學(xué)家Bjarne Stroustrup(比雅尼·斯特勞斯特魯普)創(chuàng)造、設(shè)計(jì)和開發(fā)的。

斯特魯斯特魯普想制造一種類似于C語言的靈活和動(dòng)態(tài)的語言,但是,需要擁有更多的功能。

它最初被稱為 "C with classes",在1983年被重新命名為C++,意思是 比C高一等。

國(guó)際標(biāo)準(zhǔn)化組織的C++聯(lián)合技術(shù)委員會(huì)在1998年至2017年間對(duì)C++進(jìn)行了五次升級(jí)。

一個(gè)新的版本,C++20,計(jì)劃也在計(jì)劃中將要發(fā)布。

C和C++的區(qū)別

C和C++有哪些區(qū)別?

這是在學(xué)習(xí)C或者C++時(shí)無法繞開的一個(gè)問題。

Jon Kalb(軟件工程講師、C++ Now和CppCon的主席)說,C++是C的進(jìn)化。

雖然它們有一些相似之處,但現(xiàn)在兩者有很大的不同。

雖然C語言被廣泛使用,但Kalb說它并不像C++那樣支持抽象、通用編程和面向?qū)ο缶幊獭?/p>

在大型項(xiàng)目中,往往需要非常高層次的抽象,在這方面C++要遠(yuǎn)勝于C語言。

抽象層指的是觀察或編程一個(gè)系統(tǒng)的復(fù)雜程度。低層次的抽象有更多的細(xì)節(jié),而高層次的抽象可以包括整個(gè)系統(tǒng)。

C語言是一種程序性語言,它的代碼由指令組成,直接告訴計(jì)算機(jī)或其組件按邏輯步驟完成一項(xiàng)任務(wù)。

C++也可以做到這一點(diǎn),而且,在此基礎(chǔ)上它支持高級(jí)功能,如類和面向?qū)ο?,它允許程序員創(chuàng)建包含數(shù)據(jù)和功能的 "對(duì)象"。這種方法的優(yōu)點(diǎn)是,軟件對(duì)象比程序性指令執(zhí)行得更快,更容易執(zhí)行,而且面向?qū)ο蟮木幊淌勾a更容易修改、維護(hù)和調(diào)試。

1a9d8296-2e80-11ed-ba43-dac502259ad0.png

編譯型語言和解釋型語言

提起編程語言,就必須先要理解語言所屬類型 。

編程語言可以分為編譯型語言和解釋型語言,下面分別解釋一下。

編譯型語言:程序在執(zhí)行之前需要一個(gè)專門的編譯過程,把程序編譯成 為機(jī)器語言的文件,運(yùn)行時(shí)不需要重新翻譯,直接使用編譯的結(jié)果就行了。程序執(zhí)行效率高,依賴編譯器,跨平臺(tái)性差些。比較有代表性的有C、C++等。

解釋型語言:相對(duì)于編譯型語言存在的,源代碼不是直接翻譯成機(jī)器語言,而是先翻譯成中間代碼,程序在運(yùn)行時(shí)才翻譯成機(jī)器語言,每執(zhí)行一次都要翻譯一次,因此效率比較低。比較有代表性的包括Java、Python、JavaScript等。

1acb651c-2e80-11ed-ba43-dac502259ad0.png

從入門到實(shí)戰(zhàn)

因?yàn)镃++很受歡迎,所以有很多資源可供初學(xué)者使用,包括在線教程、網(wǎng)站和書籍。

當(dāng)決定學(xué)習(xí)C++或任何其他計(jì)算機(jī)語言時(shí),你首先要清楚將它用于什么方向、什么崗位。

如果你從事機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、數(shù)據(jù)分析這些偏重于算法和分析、對(duì)性能不敏感的崗位,你完全可以選擇R或者Python這些語言替代。

但是,如果你從事游戲、系統(tǒng)等對(duì)性能有嚴(yán)格要求的崗位,C++則是首要的選擇。

那么,你已經(jīng)準(zhǔn)備好進(jìn)入到C++的學(xué)習(xí)了嗎?明天的話,我們?cè)僬椒窒砥渌R(shí)!

審核編輯 :李倩

聲明:本文內(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)投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1947

    瀏覽量

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

    關(guān)注

    22

    文章

    2113

    瀏覽量

    73742
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4801

    瀏覽量

    84861

原文標(biāo)題:【如何系統(tǒng)地學(xué)習(xí) C++ 語言】關(guān)于C++,有哪些你需要提前知道的知識(shí)?

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Delphi、C++ Builder和Lazarus連接到Oracle數(shù)據(jù)庫(kù)

    Delphi、C++ Builder 和 Lazarus 連接到 Oracle 數(shù)據(jù)庫(kù) Oracle 數(shù)據(jù)訪問組件 (ODAC) 是一個(gè)組件庫(kù),它為 32 位和 64 位平臺(tái)提供 Delphi
    的頭像 發(fā)表于 01-15 10:01 ?52次閱讀

    Spire.XLS for C++組件說明

    Spire.XLS for C++ 是一款專業(yè)的 C++ Excel 組件,可以用在各種 C++ 框架和應(yīng)用程序中。Spire.XLS for C++ 提供了一個(gè)對(duì)象模型 Excel
    的頭像 發(fā)表于 01-14 09:40 ?68次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

    本文要說的是低功耗4G模組Air780E的LuatOS開發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)打包解包。
    的頭像 發(fā)表于 12-03 11:17 ?227次閱讀
    Air780E模組LuatOS開發(fā)<b class='flag-5'>實(shí)戰(zhàn)</b> —— 手把手<b class='flag-5'>教你</b>搞定數(shù)據(jù)打包解包

    入門?畢設(shè)?競(jìng)賽?項(xiàng)目練手?STM32/嵌入式/物聯(lián)網(wǎng)學(xué)習(xí),有這幾款開發(fā)板就夠了!

    針對(duì)STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)初學(xué)者,我們精心梳理了入門項(xiàng)目進(jìn)階”完整學(xué)習(xí)路徑,并配有詳細(xì)的教程、視頻講解、源代碼以及豐富的實(shí)
    的頭像 發(fā)表于 10-10 16:31 ?362次閱讀
    <b class='flag-5'>入門</b>?畢設(shè)?競(jìng)賽?項(xiàng)目練手?STM32/嵌入式/物聯(lián)網(wǎng)<b class='flag-5'>學(xué)習(xí)</b>,有這幾款開發(fā)板就夠了!

    【全新課程資料】正點(diǎn)原子《基于GD32 ARM32單片機(jī)項(xiàng)目實(shí)戰(zhàn)入門》培訓(xùn)課程資料上線!

    軟件使用、模塊基礎(chǔ)驅(qū)動(dòng)和多個(gè)實(shí)戰(zhàn)項(xiàng)目等等!全面講解基礎(chǔ)實(shí)戰(zhàn)應(yīng)用的全套內(nèi)容,讓大家學(xué)以致用! 基礎(chǔ)部分:開發(fā)環(huán)境搭建、O新建工程、下載與
    發(fā)表于 09-24 18:06

    【全新課程資料】正點(diǎn)原子《ESP32基礎(chǔ)及項(xiàng)目實(shí)戰(zhàn)入門》培訓(xùn)課程資料上線!

    基礎(chǔ)開發(fā)流程 三、課程特色 1、基礎(chǔ)入門,循序漸進(jìn): C語言基礎(chǔ)開始,逐步深入學(xué)習(xí)ESP32 IDF開發(fā)。首先搭建開發(fā)環(huán)境并熟悉工具使用,然后學(xué)
    發(fā)表于 09-24 17:59

    【全新課程資料】正點(diǎn)原子《ESP32物聯(lián)網(wǎng)項(xiàng)目實(shí)戰(zhàn)》培訓(xùn)課程資料上線!

    完整的項(xiàng)目拆解,梳理整個(gè)項(xiàng)目的實(shí)現(xiàn)思路,由淺入深,硬件接線、基礎(chǔ)原理和模塊驅(qū)動(dòng)入手,再深入物聯(lián)網(wǎng)開發(fā) 2、教學(xué)內(nèi)容模塊化: 各個(gè)學(xué)習(xí)階段的程序、硬件接線圖和教學(xué)視頻劃分清晰,耦合少,學(xué)習(xí)
    發(fā)表于 09-24 17:05

    新書推薦 | TSMaster開發(fā)入門精通

    書名:TSMaster開發(fā)入門精通書號(hào):9787302667193作者:楊金升劉矗劉功申定價(jià):99.80元《CANoe開發(fā)入門
    的頭像 發(fā)表于 08-30 12:37 ?600次閱讀
    新書推薦 | TSMaster開發(fā)<b class='flag-5'>從</b><b class='flag-5'>入門</b><b class='flag-5'>到</b>精通

    李老師暑假班PCB設(shè)計(jì)實(shí)戰(zhàn)01的進(jìn)階之路

    ,基于Cadence23.1這一業(yè)界領(lǐng)銜的EDA平臺(tái),為大家呈上了一場(chǎng)01的全流程設(shè)計(jì)實(shí)戰(zhàn)教學(xué)。一個(gè)月前,我們并肩踏上了RK3566設(shè)計(jì)項(xiàng)目的征程,基礎(chǔ)硬件電路的初步探索,
    的頭像 發(fā)表于 08-30 12:20 ?685次閱讀
    李老師暑假班PCB設(shè)計(jì)<b class='flag-5'>實(shí)戰(zhàn)</b>:<b class='flag-5'>從</b>0<b class='flag-5'>到</b>1的進(jìn)階之路

    基于迅為RK3588【RKNPU2項(xiàng)目實(shí)戰(zhàn)1】:YOLOV5實(shí)時(shí)目標(biāo)分類

    [/url] 【RKNPU2 人工智能開發(fā)】 【AI深度學(xué)習(xí)推理加速器】——RKNPU2 入門實(shí)踐(基于RK3588和RK3568) 【RKNPU2項(xiàng)目
    發(fā)表于 08-15 10:51

    手把手教你!STM32單片機(jī)入門指南:初級(jí)中級(jí)工程師的學(xué)習(xí)路線

    首選的跳板。為了幫助初學(xué)者們系統(tǒng)地學(xué)習(xí)STM32,我們提供了一條初級(jí)中級(jí)的學(xué)習(xí)路線,涵蓋了基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 07-22 14:38 ?3373次閱讀
    手把手<b class='flag-5'>教你</b>!STM32單片機(jī)<b class='flag-5'>入門</b>指南:<b class='flag-5'>從</b>初級(jí)<b class='flag-5'>到</b>中級(jí)工程師的<b class='flag-5'>學(xué)習(xí)</b>路線

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

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

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

    操作系統(tǒng)、嵌入式系統(tǒng)等對(duì)性能要求較高的場(chǎng)景。C語言的語法相對(duì)簡(jiǎn)單,學(xué)習(xí)曲線較平緩,也是學(xué)習(xí)其他高級(jí)語言的入門語言。 C++
    的頭像 發(fā)表于 02-05 14:11 ?2505次閱讀

    盤點(diǎn)那些硬件+項(xiàng)目學(xué)習(xí)套件:STM32MP157 Linux開發(fā)板及入門常見問題解答

    免費(fèi)領(lǐng)取。 ▋常見問題 1.開發(fā)板適合0基礎(chǔ)用戶學(xué)嗎? 答:適合的。這個(gè)板子配套的基礎(chǔ)入門學(xué)習(xí)資料是非常豐富的,C語言Linux基礎(chǔ)、數(shù)
    發(fā)表于 02-01 14:25

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

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