如何成為一名合格的 C/C++開(kāi)發(fā)者

在大多數(shù)開(kāi)發(fā)人員的認(rèn)知中,C/C++ 是一門非常難學(xué)的編程語(yǔ)言爽哎,很多人知道它的強(qiáng)大蜓席,但因?yàn)?b>“難”造成的恐懼讓很多人放棄。在我看來(lái)课锌,C/C++?一旦學(xué)成厨内,其妙無(wú)窮,就像武俠小說(shuō)中的“九陽(yáng)神功”一樣产镐,有了這個(gè)基礎(chǔ)隘庄,學(xué)習(xí)任何語(yǔ)言和編程技術(shù)都非常快速癣亚!

本文就為大家分享我學(xué)習(xí)C/C++ 的經(jīng)驗(yàn)丑掺,不少人都說(shuō)看完這篇文章感覺(jué)醍醐灌頂,想一看再看述雾,希望你也能有所收獲街州!

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 兼丰,領(lǐng)取C/C++學(xué)習(xí)資料

01

C/C++ 當(dāng)前的應(yīng)用領(lǐng)域

通常情況下,C++ 可以看成是 C 的一個(gè)超集唆缴。

C?語(yǔ)言目前主要用于像操作系統(tǒng)一類偏底層的應(yīng)用開(kāi)發(fā)鳍征,包括像?Windows/Linux?這樣的大型商業(yè)操作系統(tǒng),以及嵌入式操作系統(tǒng)面徽、嵌入式設(shè)備上的應(yīng)用艳丛,還有一些開(kāi)源的軟件,也會(huì)選擇?C?開(kāi)發(fā)趟紊。

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 氮双,領(lǐng)取C/C++學(xué)習(xí)資料

我們?cè)賮?lái)說(shuō)說(shuō)?C++,C++?的應(yīng)用領(lǐng)域目前有三大類:

第一類就是我們目前見(jiàn)到的各種桌面應(yīng)用軟件霎匈,尤其?Windows?桌面軟件戴差,如?QQ、安全類殺毒類軟件铛嘱、各種瀏覽器等暖释;

另外就是一些基礎(chǔ)軟件和高級(jí)語(yǔ)言的運(yùn)行時(shí)環(huán)境,如大型數(shù)據(jù)庫(kù)軟件墨吓、Java?虛擬機(jī)球匕、C#?的?CLR、Python?編譯器和運(yùn)行時(shí)環(huán)境等肛真;

第三類就是一些業(yè)務(wù)型應(yīng)用軟件的后臺(tái)谐丢,像游戲的服務(wù)器后臺(tái),如魔獸世界的服務(wù)和一些企業(yè)內(nèi)部的應(yīng)用系統(tǒng)蚓让。

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 乾忱,領(lǐng)取C/C++學(xué)習(xí)資料

02

C++ 語(yǔ)言基礎(chǔ)與進(jìn)階

2.1?基礎(chǔ):

這里說(shuō)的基礎(chǔ)不是狹義上的?C++?語(yǔ)言基礎(chǔ),而是包括?C++?開(kāi)發(fā)這一生態(tài)體系的基礎(chǔ)历极,筆者認(rèn)為的基礎(chǔ)包括:

C++?語(yǔ)言本身熟練使用程度窄瘟。

必須結(jié)合一個(gè)具體的操作系統(tǒng)平臺(tái),所以得熟悉某個(gè)操作系統(tǒng)平臺(tái)的?API?函數(shù)趟卸,比如?Linux蹄葱,以及該操作系統(tǒng)的原理。

網(wǎng)絡(luò)通信锄列,網(wǎng)絡(luò)通信在這里具體一點(diǎn)就是?Socket?編程图云。

說(shuō)了這么多,你可能會(huì)覺(jué)得很抽象邻邮。舉個(gè)具體例子竣况,假設(shè)我們現(xiàn)在要開(kāi)發(fā)一個(gè)類似電驢這樣的軟件,軟件界面如下圖:

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 筒严,領(lǐng)取C/C++學(xué)習(xí)資料

如上圖所示丹泉,假設(shè)操作系統(tǒng)選擇 Windows情萤,使用語(yǔ)言使用 C++,這款產(chǎn)品的實(shí)現(xiàn)技術(shù)分為?UI?和網(wǎng)絡(luò)通信部分摹恨,下面將詳細(xì)介紹這兩部分筋岛。

UI 部分

無(wú)論你是在閱讀別人的項(xiàng)目還是需要自己開(kāi)發(fā)這樣的項(xiàng)目,在確定了這款軟件使用的 UI 庫(kù)晒哄,您就需要對(duì)?Windows 的窗口睁宰、對(duì)話框、消息產(chǎn)生揩晴、派發(fā)與處理機(jī)制進(jìn)行了解勋陪。

接著,根據(jù)上圖中的軟件功能针贬,大致分為三大模塊宣赔,即資源、下載和分享。這三大塊是可以使用一個(gè)Windows Tab?控件去組織房午,這個(gè)時(shí)候您需要了解?Windows?Tab?控件的特性。

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 毛嫉,領(lǐng)取C/C++學(xué)習(xí)資料

網(wǎng)絡(luò)通信部分

網(wǎng)絡(luò)通信部分屿愚,主要有兩大塊,第一個(gè)是程序啟動(dòng)時(shí)喇喉,與服務(wù)端的交互祖今;第二個(gè)就是文件下載與分享的?P2P?網(wǎng)絡(luò)。

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 拣技,領(lǐng)取C/C++學(xué)習(xí)資料

2.2?進(jìn)階:

如果您達(dá)到了我上面說(shuō)的三點(diǎn)后千诬,可以再找一些高質(zhì)量的開(kāi)源項(xiàng)目去實(shí)戰(zhàn)一下。需要注意的是膏斤,最好找一些沒(méi)有復(fù)雜業(yè)務(wù)或者您熟悉其業(yè)務(wù)的開(kāi)源項(xiàng)目(如開(kāi)源的?IM?系統(tǒng))徐绑。

我個(gè)人學(xué)習(xí)一套陌生的開(kāi)源項(xiàng)目時(shí),總是喜歡將程序用調(diào)試器正常跑起來(lái)莫辨,然后再中斷下來(lái)傲茄,統(tǒng)計(jì)當(dāng)前的線程數(shù)目,然后通過(guò)程序入口?main?函數(shù)從主線程追蹤其他工作線程是如何創(chuàng)建的沮榜;接著盘榨,分析和研究每個(gè)線程的用途以及線程之間交互的,這就是先整體把握蟆融,然后找感興趣的細(xì)節(jié)去學(xué)習(xí)草巡。

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 ,領(lǐng)取C/C++學(xué)習(xí)資料

03

關(guān)于 C++ 的面試

關(guān)于?C++?面試振愿,面試的要求到底是側(cè)重代碼量捷犹、項(xiàng)目經(jīng)驗(yàn)弛饭,還是側(cè)重操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)這種基礎(chǔ)知識(shí)萍歉?

如果你是想進(jìn)入大型互聯(lián)網(wǎng)公司的應(yīng)屆生:

應(yīng)該優(yōu)先好好準(zhǔn)備算法和數(shù)據(jù)結(jié)構(gòu)知識(shí)以應(yīng)對(duì)面試侣颂,這是大型互聯(lián)網(wǎng)公司面試頻率最高的考察范圍。

如果是社會(huì)人士參加的?C++?職位的面試:

如果是大型互聯(lián)網(wǎng)公司枪孩,雖然社招問(wèn)的更多的是項(xiàng)目經(jīng)驗(yàn)憔晒,但適當(dāng)準(zhǔn)備一些基礎(chǔ)的算法和數(shù)據(jù)結(jié)構(gòu)知識(shí)也是非常有用的。

在學(xué)習(xí)C/C++可以加入我們的學(xué)習(xí)交流QQ群: 954607083 蔑舞,領(lǐng)取C/C++學(xué)習(xí)資料

另外拒担,C++ 是一門講究深度的編程技能,對(duì)于有一定工作年限的面試者攻询,面試官往往會(huì)問(wèn)很多原理性的細(xì)節(jié)从撼,這就要求廣大 C++ 開(kāi)發(fā)者在平常多留心、多積累钧栖、多思考技術(shù)背后的原理低零。

本文轉(zhuǎn)載自 | Chat-《如何成為一名合格的 C/C++開(kāi)發(fā)者》

作者 | 范蠡

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拯杠,隨后出現(xiàn)的幾起案子掏婶,更是在濱河造成了極大的恐慌,老刑警劉巖潭陪,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雄妥,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡依溯,警方通過(guò)查閱死者的電腦和手機(jī)老厌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)誓沸,“玉大人梅桩,你說(shuō)我怎么就攤上這事“菟恚” “怎么了宿百?”我有些...
    開(kāi)封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)洪添。 經(jīng)常有香客問(wèn)我垦页,道長(zhǎng),這世上最難降的妖魔是什么干奢? 我笑而不...
    開(kāi)封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任痊焊,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘薄啥。我一直安慰自己辕羽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布垄惧。 她就那樣靜靜地躺著刁愿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪到逊。 梳的紋絲不亂的頭發(fā)上铣口,一...
    開(kāi)封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音觉壶,去河邊找鬼脑题。 笑死,一個(gè)胖子當(dāng)著我的面吹牛铜靶,可吹牛的內(nèi)容都是我干的叔遂。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼争剿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼掏熬!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起秒梅,我...
    開(kāi)封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎舌胶,沒(méi)想到半個(gè)月后捆蜀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幔嫂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年辆它,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片履恩。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锰茉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出切心,到底是詐尸還是另有隱情飒筑,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布绽昏,位于F島的核電站协屡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏全谤。R本人自食惡果不足惜肤晓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧补憾,春花似錦漫萄、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至威酒,卻和暖如春窑睁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背葵孤。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工担钮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人尤仍。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓箫津,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親宰啦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苏遥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容