什么是C++?
C++是C語言的擴(kuò)展,1979年由C++之父Bjarne Stroustrup開發(fā),起初的目的就是C with Classes,在構(gòu)建大型項目這塊,他認(rèn)為現(xiàn)有的編程語言都不太理想,所以就在C語言的基礎(chǔ)上進(jìn)一步開發(fā)。為什么基于C語言,因為C語言當(dāng)時已經(jīng)是一種通用語言,它的效率高、速度也快。
C++是一種復(fù)雜、通用、高效的編程語言,它的自由度、編譯性語言、支持多范式編程的特點,很適合中級程序員。
C++的歷史
C++在1985年首次發(fā)布,但直到1998年才發(fā)布第一個標(biāo)準(zhǔn)版本C++98,03年發(fā)布了C++03標(biāo)準(zhǔn),主要修復(fù)了98中發(fā)現(xiàn)的一些錯誤,又增強(qiáng)了它的可移植性。
下一次重要升級是在2011年,就是我們常說的C++11,也可以理解為是讓C++徹底翻身立棍的一次升級。
然后是C++14,主要修復(fù)了C++11的一些問題。
再就是C++17,引入了幾個新特性和更廣泛的標(biāo)準(zhǔn)庫。
再三年后就是C++20,再三年就是C++23,估計以后也都是三年一個周期來更新標(biāo)準(zhǔn)。
C++為什么經(jīng)久不衰?
全球有超過440w人都在使用C++,很多現(xiàn)代化的系統(tǒng),如搜索引擎、VR應(yīng)用、數(shù)據(jù)庫、操作系統(tǒng)、web瀏覽器,甚至電影制作,都是由C++代碼支持的。
Adobe產(chǎn)品、虛幻引擎、Chrome和Firefox瀏覽器也都是用C++構(gòu)建的。
因為它的速度快,所以它在對性能有極致要求的領(lǐng)域非常受歡迎。
另外,最新發(fā)布的C++20標(biāo)準(zhǔn)也非常受歡迎。
C++目前依舊非常流行,它依舊是值得學(xué)習(xí)的語言,它金融、應(yīng)用開發(fā)、游戲開發(fā)、虛擬現(xiàn)實等多個行都有廣闊的就業(yè)市場。
C++最主要的用途是開發(fā)基礎(chǔ)軟件設(shè)施,和在有限資源的條件上運行的應(yīng)用程序。因為它有一種獨特的能力,可以直接操作它所運行的硬件或者機(jī)器,即使在硬件空間資源受限的情況下,C++程序依舊可以高效的運行,所以在這種條件下,C++幾乎是完美的選擇。
C++有什么優(yōu)勢?
簡單列舉幾個:
速度:低級編程語言比高級編程語言(如Java、Python)要快得多,由于C++是C的擴(kuò)展版本,所以它是最快的幾個編程語言之一。
效率:C++有一個標(biāo)準(zhǔn)模板庫STL,這些庫提供了很多通用高效的算法,讓我們開發(fā)時節(jié)省了很多時間和精力。
可以自由選擇編程風(fēng)格:它支持多種編程范式,你可以選擇自己喜歡的風(fēng)格開發(fā)。
支持面向?qū)ο螅浩渌奈恼挛覀冊斄倪@個話題
編譯型語言:可以在運行前發(fā)現(xiàn)很多錯誤,減少了運行時調(diào)試的時間,也減少了一些bug的產(chǎn)生。
C++有什么應(yīng)用場景?
操作系統(tǒng)
游戲開發(fā)
桌面端程序:Adobe的很多產(chǎn)品Photoshop等都是C++開發(fā)的
瀏覽器:Google Edge
數(shù)據(jù)庫:MySQL、MongoDB
云計算和分布式應(yīng)用
很多開源庫:Tensorflow等
為什么學(xué)習(xí)C++?
幫助你更好的理解底層操作系統(tǒng)和計算機(jī)體系結(jié)構(gòu),C++是一種直接與硬件交互的低級語言,它會方便你了解計算機(jī)內(nèi)存是如何工作的,以及信息是如何存儲的等等底層知識。
它目前依舊被廣泛的使用,瀏覽器、游戲、操作系統(tǒng)、編譯器、自動駕駛,等等,都在用C++。
掙錢
C++職業(yè)前景
只有你有合格的C++編程能力,你就會有很好的工作機(jī)會,會有比較客觀的薪水和職業(yè)前景,要知道招聘一個C++程序員其實是很難的,學(xué)C++有可能會讓你在程序員這條路上走得更遠(yuǎn)。
當(dāng)然薪水還是取決于你的技術(shù)水平、所在城市、所在公司等。
那要掌握多少C++技術(shù)才能勝任這個領(lǐng)域的工作?答案應(yīng)該是:總有更多的東西要學(xué)。
C++更新頻率較高,不論你是初學(xué)者還是有幾十年編程經(jīng)驗的專家。你掌握的知識和技能越多,你就越有可能獲得一份體面的工作和不錯的薪水。
關(guān)于C++學(xué)習(xí)的一些建議
長期主義:C++學(xué)習(xí)需要日積月累,在任何情況下都不要指望一周內(nèi)就徹底學(xué)會C++。
多學(xué)習(xí)多思考:C++有很多東西要學(xué),你需要花大量時間了解基礎(chǔ)知識,也需要多思考并多向別人提問
實戰(zhàn):實戰(zhàn),實戰(zhàn),還是實戰(zhàn),實戰(zhàn)是掌握知識的最好方法。
不要害怕bug:無論是自己的還是他人的程序,當(dāng)你嘗試解決這些bug時,你會學(xué)到更多的東西,因為這可能讓你被迫進(jìn)入到你的知識盲區(qū)。
閱讀不同人的代碼:學(xué)習(xí)不同的C++編碼風(fēng)格,自學(xué)會讓你眼界變窄,多出去走走看看。通過閱讀別人的代碼,了解下別人是如何思考的,對你的學(xué)習(xí)很有幫助。
參加社區(qū):比如StackOverflow。
審核編輯 :李倩
-
編碼
+關(guān)注
關(guān)注
6文章
932瀏覽量
54731 -
編程語言
+關(guān)注
關(guān)注
10文章
1929瀏覽量
34539 -
C++
+關(guān)注
關(guān)注
21文章
2100瀏覽量
73453
原文標(biāo)題:C++入坑指南
文章出處:【微信號:C語言與CPP編程,微信公眾號:C語言與CPP編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論