程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 進修C和C++的9點經歷總結

進修C和C++的9點經歷總結

編輯:關於C++

進修C和C++的9點經歷總結。本站提示廣大學習愛好者:(進修C和C++的9點經歷總結)文章只能為提供參考,不一定能成為您想要的結果。以下是進修C和C++的9點經歷總結正文


老是被問到,若何進修C和C++才不茫然,才不是亂學,想了一下,這裡給出一個總的答復。

  一家之言,迎接拍磚哈。

  1、可以斟酌先進修C.

  年夜多半時刻,我們進修說話的目標,不是為了成為一個說話專家,而是願望成為一個處理成績的專家。做一個有效的法式員,做一個賺錢的法式員。我們的價值,將表現在客戶價值上,而不是說話寫得好欠好看。

  C++是C的一個面向對象的說明,C++為C擴大了年夜范圍工程運用,龐雜的體系構造的組織和掌控辦法,然則,我以為,C++骨子裡照樣C的。

  究竟,處理詳細成績,每一個函數外部,都是用C的方法寫法式,照樣面向進程的。

  是以,想要進修好C++,我的建議,先進修C,先學處理成績的才能,再評論辯論處理年夜成績的才能。就是先進修怎樣走路,再進修怎樣跑步。

  2、進修C的進程中,必定要懂得構造化編程思想。

  為何呢,我後面有文章說過,軟件說話的成長進程,就是一個數據公有化的進程,年夜型工程運用,強調高內聚,低耦合,模塊化設計,堅持代碼最年夜的靈巧性和平安性。

  這是古代工程化開辟的焦點和魂魄。

  是以,應用C這門說話入門,借此懂得構造化開辟思想,可以說是個很便利的門路。由於C的函數,原來就是為重用做預備的。同時,全局變量和cpp外部公有變量的差異,其應用准繩,這些都能學到許多構造化開辟思想。

  3、開端進修C++

  C++不難學的,許多人認為C++難學,實際上是由於它在C以外,又供給了許多的概念,特別是對象,很難以懂得。

  不外我經由這麼多年,把這個成績反而看淡了,我以為面向對象絕對面向進程,僅僅是構造化法式設計的一個詳細表現,是編譯器供給手腕,強制法式員必需遵守數據公有化的一個實例,C++和C的關系,最焦點的莫過於此。

  如今我們回到C再看看,假如我們把一個全局變量,寫到一個cpp外面,而且在對應的h文件中不聲明,它是否是就只要這個模塊可使用?它是否是就是公有變量,以這個懂得,類能明確了嗎?

  4、進修C++的深刻技能

  C++在類的基本上,經由這麼多年的成長,其實供給了許多深刻的概念,看起來很龐雜,其實我看也很簡略。好比模板,我的懂得就是“類的類”,年夜家說是否是?

  既然模板懂得了,STL,ATL這些,靜態模板庫,靜態模板庫,還難懂得嗎?就是一年夜堆類的類,可以借此完成許多運用中須要的類,不須要法式員再本身寫罷了。

  ok,STL都懂得了,泛型開辟還難嗎?所謂泛型開辟,其實就是我做一個模板,來界說一套算律例則,然則呢,我願望這個算律例則,能進一步籠統,對焦點數據類型不要限逝世,我把各類數據套出來,都可以用,如許,僅算法這部門,我不須要重寫了。你想一想是否是這個事理?

  學到這裡,C++和C,其實曾經差不多了。再學說話,就是吹毛求疵,過於鑽牛角尖了。

  5、進修運用開辟

  後面說了,進修說話,目標不是讓他人以為本身是專家,是為了寫法式賺錢。是以,說話學完,要進修運用開辟。

  甚麼叫運用開辟呢,我會一門說話,然則,客戶不懂,客戶說的很直接,在Windows下給我寫個法式,我要甚麼甚麼功效。為啥Windows呢?由於我習氣。

  OK,許多時刻,運用開辟要尊敬客戶習氣,普通說來,說話這個東東,照樣要聯合詳細平台的開辟,能力開辟出成心義的運用法式賣錢。那末,普通說來,客戶端是Windows體系,辦事器是Linux,這些都是行業習氣,嵌入式欠好說,各類平台都有,Palm,S60,Linux,WinCE,等等。要依據本身的目的客戶來定。

  當我們選定目的平台後,有一個成績,選甚麼說話,許多時刻,先生和商用法式員差異就在這裡,先生普通沒得選,本身會啥就用啥呗,企業裡的法式員不會,要先評價需求,看哪一個說話更適合,不會的說話,要去學。

  ok,假定我們選了C和C++,那末,我們須要選擇開辟平台,Windows下不消說了,VC,這是最好用的,Linux下呢,gcc,其他的也差不多。

  假設我們開辟VC,而且應用C++,這個時刻,才須要斟酌進修MFC了,由於這是微軟的尺度類庫,至多Windows平台下,它最威望,你看見沒有,我們從進修開端,走了若干步,才走到MFC?是否是MFC不是進修C++下去就必需學的?

  6、進修MFC

  進修MFC,許多人一下去就開端看其系統架構,看得一頭霧水,誰人模塊關系依附圖,我到如今都看不懂。

  呵呵,其實不是啦,和學說話一樣,我們學MFC的目標,也不是願望成為MFC的專家,而是要應用MFC開辟Windows運用法式,為我們賺錢。看見沒?MFC是手腕,不是目標,目標是開辟Windows法式。

  其實Windows下,有一套很尺度的C接口,叫Win32API,這個才是Windows的尺度編程焦點,是以,進修MFC,真實的目標是懂得Windows法式開辟,建議可以先進修Win32API,看來我們又回到C了哈,呵呵。剛開端學C有效吧?

  7、Win32API

  其實Win32APi不難學的,由於固然它很年夜,有許多接口,但不是必需的,我們真正做個簡略的Windows運用,其適用不到這麼多的。做個簡略的Dialog,然後完成個功效,你碰到的接口函數,其實絕年夜多半,就是今後經常使用的了。把經常使用的記闇練,就ok了。

  症結是,這個時刻要經由過程WinMain方法,去懂得Windows的事宜機制,這是焦點,其實說起來簡略得要逝世。就是之前你的法式,因為沒有體系支持,許多事必需本身做,好比檢討鼠標和鍵盤輸出,你須要寫個逝世輪回,本身赓續去看,而Windows說,這些事你不要做了,我來做比你好。你沒事就玩去吧,我把和你相干的新聞放到一個隊列裡,就是你的事宜隊列,你本身沒事去找找看,有無新新聞來,有就干事,沒事就玩好了。很簡略是不?

  固然,Windows是多義務操作體系,有時刻,我們的邏輯須要並發一些功效,好比說,我在等鼠標鍵盤新聞的時刻,須要再看看打印機預備好了沒有,這裡就須要懂得並行盤算了,這和說話有關,和操作體系有關,這是別的一個話題,這裡不多說了,你可以本身找找線程開辟的相干材料看。

  看見沒,為了進修好Windows編程,其實我們不只僅須要進修說話,還要進修操作體系,並行盤算道理,內存道理,能夠有時刻還須要進修收集通訊,等許多常識,所以說,單憑進修說話,是成不了商用法式員的,一個及格的法式員,須要懂得的器械,太多了,要廣為進修。

  當我們把Win32API,和根本的窗口化法式設計懂得了,便可以回到MFC持續進修了。是否是有點遞歸前往的意思?呵呵。

  8、回到MFC

  本來學MFC很難的,由於其封裝了太多細節,很難懂得透辟。不外還好,我們有侯先生的深刻淺出MFC,去找原來看看,若何從Win32API的純C編程,轉變為MFC的C++方法,看這個最快,根本上前6章看完,曾經會了,這裡我就不多說了。

  9、COM

  COM、COM、COM,我最頭疼的COM,呵呵。

  COM就是一種長途進程挪用,即你要求的代碼是在別的一個過程中運轉的,經由過程某種通訊協定往返傳遞參數和成果。僅此罷了。DCOM進了一步,辦事者可以在別的一台盤算機上。在公司開辟中,年夜家能夠各做一塊,假如要協作,Windows下建議多應用COM.(我小我愛好socket通訊哈)

  簡略說,COM供給了一種機制,可以跨過程通訊,乃至跨機械通訊。不外,為了傳遞各類類型的參數,COM可謂是無所不消其極,它創造了智能指針,可以指向任何類型的數據,同時,為了完成智能指針,它應用了年夜量的C++泛型設計,看見沒,C++的根本功就起感化了,還用到了ATL.

  進修COM,要留意一個接口的概念。因為開辟者是分歧的人,挪用法式和辦事法式,能夠不是統一種說話,OK,不克不及簡略供給一個C或C++的。h文件來解答接口,是以,COM供給了尺度接口,應用者在法式外部,以查詢方法取得可用接口,進而以接口ID挪用。很累人的。

  學會了COM,便可以多懂得一點ActiveX了,那末再進修一點dll(靜態鏈接庫)的常識,我們就曾經可以寫OCX控件了。普通說來,OCX控件是個很好的設計,哪都能用,一個軟件的模塊,最幻想是開辟成這個模樣,比exe靈巧。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved