亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

我的Visual C++入門之路

2019-11-17 05:05:25
字體:
來源:轉載
供稿:網友
“N次失敗,1次成功,還學的不怎么樣……你也太笨了吧!”假如您有這樣的評價,那么祝賀您,您已經了解了我這人的99.9%。N這個數字具體是多少連我自己也記不清楚,保守地講(N≥6==TRUE)這個表達式是能夠成立的。
回想我的VisualC++入門過程,一路過來,絕對不是像黃飛鴻的功夫那樣瀟灑出色,而更像是一顆石頭順流而下,在河床底摸爬滾打、磕磕碰碰。今天是周末,我就把以前N次失敗留給我的經驗教訓胡寫上幾筆,假如有朋友看到這篇拙文,又剛好打算嘗試一下VisualC++,也就算是我給您留下的莽原一徑吧。

  一.C++語言的基礎

  說起入門慢,第一個原因莫過于語言基礎了.高中時期學校組織的微機愛好小組學習的是PASCAL語言(我也不知道為什么要講這個語言,假如說是為了應付比賽,當時也有C語言組呀),所以在大學轉向Windows編程的時候,我首先選擇了Delphi.大三的時候學校要求考國家二級,二級沒有Delphi,于是又轉向了VB,原因是VB做起來與Delphi很像。后來發現VB的IDE做的比Delphi好用,而且BASIC語言寫起來簡單,于是便棄Delphi而去(明眼人恐怕又要罵我了,若不是太懶,怎么會喜歡VB的IDE呢?的確是這樣,后文會提到,懶不僅僅是學習VC的大敵,而且懶人是什么都學不好的)。長年與VB打交道,讓我對C/C++語言很不習慣——我不喜歡C++寫一個句語要打一個分號,我不喜歡大小寫字母要嚴格區分,我不喜歡比較的時候要寫兩個等號,我不喜歡……總之,對C++很沒好感,沒好感也就沒愛好學了(后面提到愛好是相當重要的)。當然假如你現在再問我應該學習什么語言,我會毫不猶豫地向你推薦C++,因為就常用語言而言,C++語言中包含的知識是相當全面的——從面向過程,到基于對象/面向對象,再到模板和范型,可以說是應有盡有,不夸張地說,別的語言在某種程度上而言是C++語言的子集或者說是在模擬C++、向C++靠攏。

  在數次失敗中,給我很明顯的感覺就是,不學好C++語言就學習VisualC++純粹是一種自虐。這次入門之前,我花了3個多月的時間系統地學習了C++語言,夠意思吧。然后我信心實足地敲響VisualC++的家門,呵呵,這次她終于肯給面子了。舉個例子吧,在看Dll的調用時,用到“函數指針”,順理成章就看下去了,想一想假如沒有C++語言的基礎,基本是不可能的。所以說,沒學會中文之前,別看《紅樓夢》,那不是《看圖識字》。奉勸想從VB轉向VC學習的朋友,假如你指望能像學習VB一樣邊學習VC邊學習C++語言,那你可就錯了:)

  順便提醒C++語言入門的朋友一點,應該關注ANSI/ISOC++,也就是標準C++了,市面上C++的書良莠不齊,很多書是“舊書換新皮”,講的仍然是非標準C++,一定要選好。計算機書很貴,大家不妨找電子版的來看,網上有很多,甚至《C++PRimer》或者《C++沉思錄》這樣的好書也有熱心朋友放到了網上。不過,我最喜歡的是《C++編程金典》這本書,不愧是教育大師寫的書,用來學習很合適。至于編譯器的選擇,假如條件答應就安裝VS.NET2003吧,據說VisualC++7.1的編譯器是目前對標準C++支持的最好的編譯器了。

  二.VC學習資料的選擇

  VC入門難有很多原因,其中不容忽視的一個就是優秀的VC學習資相對較少。C++語言較深,VisualC++用起來復雜,再加上資料少——難上加難。資料少,并不意味著沒有,怎樣選擇或者說挖掘就是要害。暫把資料分為光盤、書籍(包括電子書)和文檔(包括網上的)三類。

  在選擇資料方面,大家一定要擯棄中國人思想中的兩大劣根性:<1>不勞而獲<2>一夜暴富。

  “不勞而獲”的思想會導致趨向于選擇“講課”類的資料,比如多媒體光盤。結果是光盤容量往往很少但又要求內容面面俱到(不然怎么賣出去呀),這就造成了知識的連貫性差而且講的又飛快,任你一遍一遍地聽,不見成效又打擊信心,最后只能放棄。期待早日有內容豐富,講解出色的光盤面市。

  “一夜暴富”的思想會讓你趨向于選擇“速成”類教材。那樣的教材大多是騙人的——能寫個彈出窗口Hello一下World,這就能算是會VisualC++了?我們還是不要自欺欺人的好。至少也要能連數據庫、能使用Socket吧……而這些知識怎么可能“速成”呢?

  我有很多VisualC++的學習資料,但沒有一本我是抱著一啃到底的,因為沒有哪本書十全十美,我是交替著使用些資料,這樣做的好處在于:

  <1>知識的連貫性好,跳躍性小,進階坡度較小,讀起來舒適。都說VisualC++的學習坡度比較陡,那個陡坡是出現在由單純的C++語言學習轉向Windows編程的時候,C++語言本身的學習并沒有那么困難。

  <2>有積累效應,這本書講的不精不透,另一本書會幫你補上,這本書你沒留心,下本書總該長個心眼吧。還有就是一些小例子程序,把MFC的類或者函數拆開來給你看,目的非常明確,效果也不錯。天天學一點,不圖快,圖扎實。呵呵,跟VC搞“面向對象”,當然要一天一點戀愛了。

  <3>舉一返三,動手實踐。假如多本書中都把它列為重點,那就一定要熟記在心而且上機操作,書上的例子一定要分析透徹,不能有“差不多”的思想——差多少算多呢?程序這東東,錯一個字母都不行呀。光看會了還差遠著呢,自己要能寫,而且能對例子進行擴展才行。

  <4>內容詳實豐富,這一點上,首推MSDN啦,還有就是在網上能找到的微軟出的VisualC++的叢書,希望譯的電子版,是wdl格式的。雖然MSDN是英文版,但其中的英文并不難——您盡可以相信我,因為在下的英文水平是奇爛無比的。MSDN有兩種用法,一種是當字典用,因為內容全;一種是當消遣,沒事了看一個類,敲幾行代碼,看到那個MFC的繼續圖了嗎,挺好玩兒的,感覺像逛街——而且東西不要錢,helpyourself。

  互聯網上的資源是非常非常豐富的,千萬不要錯過!好網站和下載站BB皆是。還有論壇、新聞組、在線QQ群……你問我有哪些?呵呵,遠在天邊近在眼前呀:)

  三.內因與外因:“三心二意”和“高手朋友”你有嗎?

  啊哦,我不是在開玩笑?!叭摹笔侵笡Q心,信心和耐心。決心來源于動機,說來好笑,我最初動機很簡單,大學時有個朋友,計算機系的,我總認為我比他聰明(我的天~~~~),他會VC我不會,我就想超過他,現在都畢業兩年了,最初的動機早已經不在了,而學習卻VC已經成了我的心愿——最要害的一點是我的愿望是寫自己的輸入法,而寫輸入法只能用VisualC++去實現,所以我會有決心學好VisualC++。至于信心,有兩次失敗完全是信心不足造成的,促成這次成功的信心說起來還挺傳奇:我去北京玩兒,回家的火車上一姓趙位老師看見我別著一個MCP的領章就過來跟我聊天,得知他是一位有著十多年VC開發經驗的程序員,敬意油然而生。聊天的過程中,趙老師給了我極大的鼓勵和支持——我問他像我這種WoodHead能不能在半年內入門VC,他告訴我,一定能,于是我就堅定了自己的信心,現在剛好是4個月,假如趙老師有機會看到這篇文章——我在這里謝謝您啦!(花絮:下車,兩個小時后我與女友分手了,是被甩呀同志們!隨后的一段日子里,一直與VC相伴……)還要說說耐心:假如您已經看到這里了,說明您很有耐心(竟然能看到這里還沒有拂袖而去),耐心與個人的風格有關,沒耐心的人多半是懶人,懶人什么都做不成,學習VC就是不能懶,書懶得看,問題懶得問,英語懶得譯……或者是有點挫折就放棄,學好VC是沒指望了。我不知道別人怎樣,反正我是沒少受挫,其實有兩次離入門就那么一點點了,我放棄了……學VC要越挫越勇,學VC要肯定執著,Gogogo!

  “二意”是指第一你要感覺學習VC有“意思”,二是你要感覺學習VC有“意義”。有意思,就是說你喜歡寫程序,“三心”的源動力來源于你對程序設計的熱愛,不喜歡編程的人可能能學好VB但絕學不好VC。有意義,就是說你要給自己一個理由:自己都不能給自己一個交待的事情是做不長久的。前面說過,我是為了寫自己的輸入法,解放中國人的雙手,這個理由夠純潔夠崇高,還有一個理由就是通過學習VC來礪練自己,成為一個真正的程序員。你可以有自己的理由,比如提高薪水或者取得認證云云,一定要有!這就像是給自己的“報酬”,沒有報酬只憑激情做事是任何事都做不長久的。

  我小小的成功,有嚴重的原因是因為我有位“高手朋友”——楊W,他是個VC高手,大家會好奇地問:他教你寫什么呢?是MFC還是ATL或者是COM?呵呵,都不是,他從來沒教我寫過一行代碼,但他對我的每一次幫助都彌足珍貴,當我不知道從哪里查找類庫資源的時候,他告訴我:MSDN;當我不知道從哪里找到類的成員函數時,他告訴我:在頁面的左下角有一個classmr鏈接,當我問他能不能完成XXXX時,他說:別白費力氣了……在他的幫助下,我少走了很多彎路,這也正是高手朋友的可貴之處。在此,我要衷心地說一聲:謝謝!

  并不是每位學習VC的朋友都有我這么好的運氣,假如你身邊沒有這樣的朋友也不用著急嗎,我這位好朋友可是經常出沒于CSDN的壇壇里,明白了?不過,提醒與我一樣的初學者:一定要做一個會問問題的人哦!怎么做一個會問題的人呢?概括一下就是:目的明確,言簡意賅,核心代碼,客氣謙虛。  四.VC入門隨筆

  本人寫東西向來思緒凌亂、顛三倒四。剩下好多東西不知道寫到哪里,沒辦法了,只好叫“隨筆”咯。

  ……學習VC編程,首先要豎立一個“系統/全局觀”。無論是VB、C#、Delphi,寫程序的時候只需要考慮程序本身就行了,換句話說就是你不用考慮消息是如何映射和傳遞的。而VC寫程序就要多多少少考慮到這些東西。打個比方:以前用VB寫程序,就似乎是在一座山上建一個亭子,山是山,亭子是亭子,我只管造亭子就是了;而用VC寫程序,還是這個亭子,那么你應該意識到,亭子是山的亭子,是山的一部分而不是一個孤立的建筑。“亭子”就是程序,“山”就是Windows系統,亭子的地基是山留給建筑的“接口”,也就是API了……

  ……VC相對VB入門難,一上來不是像VB那樣給個窗體從頭做起,而且AppWizard要分好幾步,每一步里還有一大堆不知所云的選項,不等生成一個程序就已經暈頭轉向了。怎么辦呢?一句話,從對話框程序入手,因為它最簡單,生成的類最少,而且相對是與VB編程最“像”的。在對話框程序里,你可以充分練習添加類和成員變量或者成員函數?!贿^我有一點始終搞不明白,由易到難是對話框程序、單文檔程序、多文檔程序,在AppWizard里微軟為什么不按這個順序排列,非要倒著來呢?成心跟我們這些初學的做對!(國罵省去)……

  ……又是沒大寫……又是少分號……又是少一個等號……提醒VB轉過來的程序員,別總像我這么沒記性哦!

  ……還是提醒那些學習了VB或者是VB.NET/C#的DDMM,MFC的類雖然是面向對象的,但它沒有“屬性”這個概念地!不要指望有Me.TextBox1.Text=HelloWorld!這樣的語法,C/C++是函數型的語言,類已經把“屬性”封裝成了成員變量,那些私有的成員變量你看不到,只能通過函數來更改——this->myTextBox.SetWindowText(HelloWorld!);……

  ……暈,原來Win32程序和MFC程序不是一回事呀(看看,這就是一本爛書帶給我的,讓我一直以為Win32程序就是MFC程序,直到拜讀《深入淺出MFC》時才恍然大悟)……

  ……VC好還是VB好?(拜托,別再問這種無聊的問題了)……

  ……VC的確能做底層,但不是最底層;VC的確功能強大,但不是萬能的——拿手術刀切西瓜或者用菜刀動手術都不對……

  ……VC高手都是用記事本寫程序的:笑不笑由你……

  ……VC程序員比VB程序員強:呵呵,毛主席說過,武器不是戰爭勝利的決定因素……

  ……在快速開發工具(RAD)中,控件與后臺代碼是捆綁在一起的,而MFC的“控件類”不一樣,它的“資源”(或者說是皮)與“類”(或者說是瓤)是分開的,要通過ClassWizard把它們“粘”起來……

  ……假如說C++是一種程序設計語言,那么VisualC++中的C++語言不如叫“Windows語言”更合適——VisualC++就是在編程Windows,用到的宏或者Windows數據類型和Windows結構數不勝數,做好心理預備哦!……

  ……我的天,那么長的函數或者結構都要一個字母一個字母寫呀!呵呵,按一下Ctrl+J看看發生了什么?我就希奇了,幾乎沒看到有書上提醒我們的初學者要這樣去做。
這可是著實嚇跑了不少初學者呢?。ㄖ辽傥揖捅粐樑苓^)。器利工善,我們要把IDE用熟哦,微軟送的好禮物可不能浪費……

  ……很多書在添加完對新話框類之后都寫著要在主對話框類里手動添加對這個新類頭文件的引用,何必呢?用添加成員變量的方法添加這個新對話框類的實例,頭文件自動引用,一舉兩得。一句話:盡量多用ClassWizard,能不手寫的地方就不手寫……

  五.virtual BOOL LongWayToGo(void)

  //頭一次寫文章,其中Bug肯定少不了,大家一起來DeBug。

  //由于是入門級文章,假如有錯誤,很可能影響初學者學習,恐誤人子弟,有錯必糾!

  //希望大家多提寶貴意見,幫助我前進,謝謝先!

  //這是虛函數,留待有所得時續以后文。我還有很長的路……

  return TRUE;  作者:程序員之家 更多文章 更多內容請看C/C++技術學堂  C/C++技術專題  Solaris基礎知識入門專題,或

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综久久综合桃花网| 亚洲成人黄色网址| 欧美日韩免费区域视频在线观看| 亚洲品质视频自拍网| 国产精品综合久久久| 欧美成人国产va精品日本一级| 亚洲精品久久久久| 中文字幕av日韩| 国产精品www网站| 日韩av三级在线观看| 国产一区二区三区网站| 久久精品2019中文字幕| 亚洲精品成人久久久| 欧美在线视频网站| 欧美最猛性xxxxx亚洲精品| 在线视频一区二区| 亚洲免费视频网站| 97在线视频观看| 丁香五六月婷婷久久激情| 国产精品网址在线| 亚洲色图综合网| 欧美成人中文字幕| 欧美福利在线观看| 日韩免费视频在线观看| 欧美日韩国产综合新一区| 日韩成人在线播放| 91av在线不卡| 亚洲精品短视频| 欧美成人自拍视频| 中文字幕免费精品一区高清| 欧美一级高清免费播放| 久久久噜噜噜久久| 九九热99久久久国产盗摄| 久久精品视频导航| 中文字幕不卡在线视频极品| 亚洲国产精品一区二区久| 奇米四色中文综合久久| 亚洲最新av网址| 97视频网站入口| 亚洲欧洲在线视频| 久久国内精品一国内精品| 国产成人福利网站| 欧美性极品少妇精品网站| 成人信息集中地欧美| 国产精品私拍pans大尺度在线| 国产精品美女www爽爽爽视频| 日韩网站免费观看| 中文字幕av一区| 亚洲少妇中文在线| 国产欧美日韩精品丝袜高跟鞋| 成人在线视频网站| 欧美亚洲一区在线| 最近2019中文字幕mv免费看| 国产亚洲视频中文字幕视频| 久久99国产精品自在自在app| 久久国产精品亚洲| 欧美电影在线观看网站| 久久69精品久久久久久久电影好| 国产成人福利夜色影视| 亚洲欧美福利视频| 国产精品久久久久久久av大片| 欧美激情精品久久久久| 国产91在线高潮白浆在线观看| 久久精品国产一区二区三区| 国产在线观看精品一区二区三区| 一区二区三区天堂av| 色综合久久精品亚洲国产| 在线一区二区日韩| 久久精品久久久久久国产 免费| 亚洲欧美国产高清va在线播| 亚洲2020天天堂在线观看| 一区二区三区视频在线| 欧美麻豆久久久久久中文| 亚洲视屏在线播放| 亚洲精品久久7777777| 国产视频观看一区| 国产香蕉一区二区三区在线视频| 97久久精品人搡人人玩| 欧美激情精品久久久久久蜜臀| 国产精品美女免费视频| 亚洲人成网站色ww在线| 97视频在线观看视频免费视频| 中文字幕欧美精品在线| 日韩美女视频免费在线观看| 亚洲精品乱码久久久久久金桔影视| 最近2019中文字幕mv免费看| 国产亚洲精品一区二555| 精品国产一区二区三区四区在线观看| 国产欧美一区二区三区视频| 国内精品久久影院| 欧美福利视频网站| 国产精品av网站| 欧美乱大交xxxxx| 欧美在线xxx| 精品视频久久久| 91地址最新发布| 亚洲精品久久久久久久久| 日韩av最新在线观看| 日韩av网站导航| 亚洲精品视频免费在线观看| 中文字幕久热精品在线视频| 欧美精品在线第一页| 亚洲欧美制服中文字幕| 日韩久久免费电影| 日韩国产精品亚洲а∨天堂免| 精品日本美女福利在线观看| 久久精品亚洲精品| 国产主播欧美精品| 91亚洲人电影| 国产91精品久久久久久久| 亚洲欧洲在线播放| 国产精品高潮呻吟视频| 91精品国产综合久久久久久蜜臀| 久久国产精品首页| 国产91九色视频| 亚洲福利小视频| 91在线免费看网站| 一本色道久久综合亚洲精品小说| 欧美日韩精品在线视频| 亚洲精品乱码久久久久久按摩观| 日韩精品有码在线观看| 国产精品高潮呻吟久久av黑人| 亚洲第一精品夜夜躁人人躁| 国产99久久精品一区二区 夜夜躁日日躁| 成人激情综合网| 国产精品18久久久久久麻辣| 最近2019中文字幕mv免费看| 国产91精品高潮白浆喷水| 国产成人精品视| 国产精品九九久久久久久久| 日本一区二区三区在线播放| 日本不卡视频在线播放| 性欧美xxxx交| 亚洲第一精品夜夜躁人人躁| 98精品国产高清在线xxxx天堂| 亚洲热线99精品视频| 日韩免费看的电影电视剧大全| 国产精品久久久久久久av大片| 欧美精品免费看| 久久久精品一区| 国产精品一区二区三区久久| 国产福利成人在线| 亚洲一区二区三区sesese| 日韩av免费看| 日韩亚洲欧美中文高清在线| 亚洲午夜国产成人av电影男同| 国产91网红主播在线观看| 精品国模在线视频| 91天堂在线观看| 国产一区二区三区三区在线观看| 欧美另类第一页| 亚洲日韩欧美视频一区| 国产精品亚洲一区二区三区| 欧美性高跟鞋xxxxhd| 欧美日韩福利在线观看| 国产亚洲欧美另类中文| 亚洲性xxxx| 欧美视频在线看| 亚洲japanese制服美女| 97精品在线观看| 一色桃子一区二区| 国产精品丝袜久久久久久高清| 欧美性20hd另类| 成人乱人伦精品视频在线观看|