91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

我們說說C++程序員成長路上的那點(diǎn)事

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 2018-05-15 15:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

過來人結(jié)合自身的體會和大家聊聊,希望新人能少走彎路。每個人的情況不一樣,我下面的描述可能并不適合每一個看到這篇文章的人。

C/C++語言

如果你的基礎(chǔ)很差, 建議不要一開始就學(xué)C++語言,從C開始學(xué)起,對程序有個初步的認(rèn)識,循序漸進(jìn)。C語言的書嘛,先買一本 300 頁以內(nèi)的,把書中的每一個例子都通過鍵盤敲打進(jìn)去到 Visual studio里面去,然后單步執(zhí)行,逐行調(diào)試去看各個變量的值?;蛘咦孕刑砑右恍﹑rintf語句去輸出變量的值。這樣當(dāng)你看完一本書后, 你就有編寫小程序的感覺了。

記住,千萬不要偷懶,不敲進(jìn)去,自以為聰明, 能看懂, 或者直接從光盤復(fù)制。偷懶的代價是會花費(fèi)更多的時間學(xué)習(xí),最后還沒有學(xué)會,給自己的自信心造成巨大打擊,再也不想學(xué)程序了。
C語言看完一本書后,下來你就可以買一本C++的書看了。 C++的書也是一樣, 必須300頁以內(nèi)的那種,不要一來就想學(xué)《C++ Primer中文版》這樣的好書, 因?yàn)樘窳耍履銢]有信心能夠看完,即使你很有信心,花費(fèi)一年的時間才看完,不值得。這種經(jīng)典的厚的好書, 適合作為資料查閱,不適合挨個細(xì)節(jié)都看。

還是要提醒各位,一定要把書中的例子挨個敲打到電腦里面, 單步執(zhí)行。一定不要從光盤復(fù)制, 一定要單步執(zhí)行。
經(jīng)過兩本書的磨練, 估計你對C/C++肯定有比較深入的了解了, 下來應(yīng)該可以進(jìn)入實(shí)戰(zhàn)了。

帶界面的應(yīng)用程序

學(xué)會了C/C++語言本身,可能還沒有什么成就感,畢竟都是控制臺的程序, 老是輸出一串字符串, 整天面對各黑框框,成就感估計不是那么爽。要是能搞個帶UI界面的程序就爽了。
下來就看個人的志向了, 如果走微軟路線, 那你下來學(xué)MFC好了,如果要走開源路線, 那開源跨平臺的界面庫多得是。
通用的并且簡單的就是 wxWidget 了, 官方網(wǎng)站為 。你下載后看具體的例子, 把里面的例子程序敲到你的 visual studio 里面, 去調(diào)試, 看運(yùn)行的結(jié)果, 你也可以試著去修改例子, 添加按鈕,響應(yīng)按鈕事件等。
走到這一步, 恭喜你,可以照葫蘆畫瓢的搞個小應(yīng)用程序了, 還帶界面。

網(wǎng)絡(luò)應(yīng)用程序

語言搞懂了,UI程序也會了, 下來該學(xué)學(xué)網(wǎng)絡(luò)咯, 現(xiàn)在那個程序不需要聯(lián)網(wǎng)啊,懂網(wǎng)絡(luò)對你理解很多程序非常有幫助。但是網(wǎng)絡(luò)應(yīng)用程序從哪里入手呢 ?
我來告訴你,從《UNIX網(wǎng)絡(luò)編程》這本書入手吧,這本書可以教會你網(wǎng)絡(luò)套接字的底層原理,把上面的例子好好學(xué)習(xí),自己動手寫一個回應(yīng)服務(wù)器。寫一個服務(wù)器端,在寫一個客戶端。服務(wù)器端請務(wù)必學(xué)會 select 這個簡單的多路復(fù)用模型,這樣你才能慢慢的深入里面 poll , epoll ,IOCP 之類的模型。

文件操作

所有的程序,基本都會用到文件的讀寫操作,windows系統(tǒng)有自己的文件操作API, 比如CreateFile, DeleteFile 等,請新手不要學(xué)windows的文件操作API, 新手請學(xué)標(biāo)準(zhǔn)C語言的文件操作函數(shù),簡單易學(xué)還跨平臺。就那么幾個函數(shù),三下五除二你也就學(xué)會了, fopen, fclose, fread , fwrite, fseek, ftell 就這么幾個而已。

深刻理解內(nèi)存與指針的關(guān)系

作為一個C/C++程序員, 從學(xué)習(xí)程序的頭一天開始,就要和內(nèi)存的分配釋放作斗爭。你必須理解內(nèi)存與指針的關(guān)系。怎么樣才能理解呢, 請大家去看 《高質(zhì)量C/C++編程》里面自帶的幾個經(jīng)典例子吧。把那幾個例子搞得清清楚楚, 基本能夠理解其中的原理了。

我們說說C++程序員成長路上的那點(diǎn)事


仔細(xì)研究apache源碼

學(xué)程序非特別是C/C++程序,非3年之功可以出山,三年對一個C/C++程序來說是一個從量變到質(zhì)變的過程,三年的項目實(shí)戰(zhàn)經(jīng)驗(yàn),可以讓你接觸到一個完整的應(yīng)用程序所需要具備的骨架。但是這個階段你寫的代碼,可能充滿BUG, 會宕機(jī),運(yùn)行效率很差,自己回頭看看一年前寫的代碼,可能自己都感覺惡心, 看不下去。沒有關(guān)系,這種感覺是每一個進(jìn)步青年都會有的。要提高自己的代碼水平, 還是要像高手學(xué)習(xí)。你可能要問,公司同事的水平一般, 水平好的人家也不愿意給我講。沒有關(guān)系,開源的代碼就是你像高手學(xué)習(xí)的最佳途徑,開源代碼是高手留下的練功秘訣, 你看了后你會突然感覺茅塞頓開, 感覺自己的水平差人家太遠(yuǎn)了。我為何要推薦apache的源碼呢?

apache的源碼是高手中的高手寫的,執(zhí)行效率和程序架構(gòu)堪稱一絕。里面的很多思想是所有程序都通用的,搞懂了, 很多模塊你也可以直接拿來使用。apache對內(nèi)存池的使用, 對線程池的使用, 對模塊結(jié)構(gòu)的封裝,非常具有實(shí)際意義。要是你能把a(bǔ)pache的源碼吃個透徹,每一個細(xì)節(jié)都搞明白了為何人家要這么實(shí)現(xiàn),我可以給你說,“恭喜你 , 你離傳說中的高手已經(jīng)不遠(yuǎn)了?!?br />
修煉C++

我上面說的基本都是修煉C的, 要修煉C++, 還得再花3年功夫, 才有可能練成C++高手。C++太博大精深了,其中最復(fù)雜的莫過于泛型編程思想,不要以為能寫個模板類就認(rèn)為泛型編程不過如此而已。仔細(xì)看看STL源碼, Boost 源碼, 你就知道泛型編程有多么的博大精深了。修煉C++, 可以從用C++封裝的MFC,wxWidget入手, 看高手如何通過C++語言, 封裝這樣龐大的UI庫,里面應(yīng)用了很多的C++機(jī)制, 最典型的就是多態(tài)機(jī)制, 還有很多的設(shè)計模式應(yīng)用可以研究。

深研設(shè)計模式

設(shè)計模式是程序設(shè)計的靈魂,是通用方法,當(dāng)你面對一個大型項目的時候,如何設(shè)計一個有彈性的系統(tǒng),是所有系統(tǒng)分析員應(yīng)該掌握的技能。在設(shè)計模式的研究上,要結(jié)合實(shí)際的項目進(jìn)行。更多嵌入式學(xué)習(xí),歡迎咨詢余工Q 二八五九七八零二零三

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145667
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    956

    瀏覽量

    30946
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應(yīng)用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?728次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    C語言與C++的區(qū)別及聯(lián)系

    class等面向?qū)ο蟮奶匦院蜋C(jī)制。但是,后來經(jīng)過一步步修訂和很多次演變,最終才形成了現(xiàn)如今這個支持一系列重大特性的龐大編程語言。 一、C語言是面向過程語言,而C++是面向?qū)ο笳Z言 我們都知道,
    發(fā)表于 12-24 07:23

    CC++之間的聯(lián)系

    1、語法兼容性: C++完全兼容C語言的語法,這意味著任何有效的C語言程序都可以直接在C++編譯器下編譯通過。 2、底層控制:
    發(fā)表于 12-11 06:51

    C語言和C++之間的區(qū)別是什么

    (inheritance)、多態(tài)(polymorphism)等面向?qū)ο缶幊谈拍睢?b class='flag-5'>程序員可以通過定義類來創(chuàng)建對象,并利用類的實(shí)例進(jìn)行操作。 2、類型系統(tǒng)與安全性: C++具有更為嚴(yán)格的類型檢查機(jī)制
    發(fā)表于 12-11 06:23

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個功能沒問題,可以上線了。 29別擔(dān)心,這個問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    C++程序異常的處理機(jī)制

    運(yùn)行代碼進(jìn)行分離,使得程序更加模塊化;另一方面,C++的異常處理可以不需要異常處理在異常發(fā)生時的同一個函數(shù),而是可以在更上層合適的位置進(jìn)行處理。 下面,我們一起來看看C++的異常處理
    發(fā)表于 12-02 07:12

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個圓滿句號。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?791次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項目中同樣廣受歡迎且功能強(qiáng)大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發(fā)表于 07-24 15:32 ?968次閱讀
    <b class='flag-5'>C++</b> 與 Python:樹莓派上哪種語言更優(yōu)?

    使用英特爾? NPU 插件C++運(yùn)行應(yīng)用程序時出現(xiàn)錯誤:“std::Runtime_error at memory location”怎么解決?

    使用OpenVINO?工具套件版本 2024.4.0 構(gòu)建C++應(yīng)用程序 使用英特爾? NPU 插件運(yùn)行了 C++ 應(yīng)用程序 遇到的錯誤: Microsoft
    發(fā)表于 06-25 08:01

    請問是否可以在通用Windows平臺中構(gòu)建OpenVINO? GenAI C++ 應(yīng)用程序?

    無法在通用 Windows 平臺中構(gòu)建OpenVINO? GenAI C++ 應(yīng)用程序
    發(fā)表于 06-24 07:35

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。先說內(nèi)存這道坎兒。您當(dāng)stm32f4的256kRAM
    的頭像 發(fā)表于 05-21 10:33 ?1063次閱讀
    主流的 MCU 開發(fā)語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點(diǎn)。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C
    發(fā)表于 05-13 16:45

    如何在 樹莓派 上編寫和運(yùn)行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗(yàn)豐富的程序員和想學(xué)習(xí)C
    的頭像 發(fā)表于 03-25 09:28 ?1171次閱讀
    如何在 樹莓派 上編寫和運(yùn)行 <b class='flag-5'>C</b> 語言<b class='flag-5'>程序</b>?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實(shí)際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?2066次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python<b class='flag-5'>程序</b>?

    為什么學(xué)了C語言,卻寫不出像樣的項目?

    在學(xué)習(xí)編程的路上,C語言幾乎是每個程序員的“必修課”。不管你是打算從事嵌入式開發(fā)、系統(tǒng)編程,還是想要深入理解操作系統(tǒng)的底層原理,C語言都是一塊重要的基石。然而許多人在學(xué)習(xí)
    的頭像 發(fā)表于 03-14 17:37 ?929次閱讀
    為什么學(xué)了<b class='flag-5'>C</b>語言,卻寫不出像樣的項目?