2006年1月10日
2006年1月8日

泛型算法尤其顯著,看著就糊涂,實(shí)戰(zhàn)就更是犯錯(cuò)!現(xiàn)在就連用什么該包含什么頭文件也搞不清楚!
煩!煩!煩!如果在這樣下去,沒有進(jìn)展,我就…………
唉!達(dá)人們有什么學(xué)習(xí)心得嗎?讓小妹學(xué)習(xí)一下!

2005年12月29日
這幾天在看抽象容器類型,用vc++6.0編譯總有一堆的警告,讓人實(shí)在是摸不著頭腦。還好有大牛告訴我了,現(xiàn)在已經(jīng)把它們屏蔽掉了。
再次向大牛們致謝!雖然他們看不到!
2005年12月27日
要過元旦了,老板準(zhǔn)備請(qǐng)吃飯,但是左挑這家餐館不好,右挑那家餐館不合適,還好最后在n顧茅廬下,終于也決定了。元旦過完就要開題了,一直不愿意想這個(gè)事,但是始終要面對(duì)的,sigh!
總之,期待回家吧!
2005年12月22日
雖然TTIAN里搞開發(fā)的人少之又少,但是這里畢竟是我網(wǎng)上唯一的家,所以有什么想法還是發(fā)到這里比較
合適。我不準(zhǔn)備說C++的任何技術(shù),只想說明如何成為C++高手,只想告訴你什么書可以解決你的什么問
題!
________________________________________________________
經(jīng)過十分漫長(zhǎng)的C++學(xué)習(xí)過程,我總算完成了我自己的C++心愿,看完了我想看的所有C++書籍,回
顧我C++的整個(gè)學(xué)習(xí)過程,頗有一些心得和經(jīng)驗(yàn),希望與各位分享,也希望給正處在摸索學(xué)習(xí)階段的
XDJM一點(diǎn)學(xué)習(xí)參考。
首先看看我第一次接觸編程語(yǔ)言,唔,那可能要追述上到世紀(jì),在我小學(xué)4年紀(jì)的時(shí)候第一次接觸到
BASIC,那個(gè)時(shí)候?qū)W習(xí)這個(gè)東西完全是為了要爸爸給我買一臺(tái)386,沒想到的是,BASIC開啟了我對(duì)于計(jì)算
機(jī)的一切興趣與追求。5年紀(jì)的時(shí)候參加少年的計(jì)算機(jī)奧賽,我用BASIC寫的一個(gè)彩色立體可旋轉(zhuǎn)移動(dòng)的正
方體拿了一個(gè)銅牌,從此計(jì)算機(jī)編程成為了最大的愛好,現(xiàn)在我還保留著源代碼,是保存在一盤普通單放
機(jī)的磁帶上的,我估計(jì)很少有人用過錄音機(jī)和串口的轉(zhuǎn)換器吧,呵。我用BASIC寫的第二個(gè)大程序是給我
媽媽用的財(cái)務(wù)程序,初中二年紀(jì)的時(shí)候,我媽媽在單位做出納,我總看到媽媽每天晚上拿個(gè)計(jì)算機(jī)算一堆
表,所以我寫了這個(gè)程序幫助媽媽快速完成她的工作,其實(shí)我的根本目的是為了一臺(tái)打印機(jī),因?yàn)檫@個(gè)程
序,生成了簡(jiǎn)單的報(bào)表,她可以直接打印,當(dāng)然為了這個(gè)便利,她必須花錢給我買一臺(tái)當(dāng)時(shí)還算價(jià)值不低
的打印機(jī)。不過現(xiàn)在回顧起來,BASIC雖然是我編程的第一位啟蒙老師,但是在我開始C++的學(xué)習(xí)之后,他
確實(shí)使我我思想上產(chǎn)生了很大的困繞,主要是OOP思想,我花費(fèi)了將近1年多的時(shí)間才真正體會(huì)到什么是OO!
到了大學(xué),我才真正開始系統(tǒng)的學(xué)習(xí)編程。在此之間走過一些歪路,比如高中的時(shí)候研究HACKING,
之所以說學(xué)習(xí)hacking是條歪路,原因很簡(jiǎn)單,因?yàn)檠芯康揭欢ǖ某潭龋瑳]有十分穩(wěn)固的編程基礎(chǔ),根本
的無法繼續(xù)深入學(xué)習(xí)。中國(guó)**聯(lián)盟解體前,位列第三的kender給了我這方面很大的打擊,從此我就退出了
,從此對(duì)于hacking我就不聞不問,從此看到那些下三爛的貨色也要學(xué)hacking,我就感到可笑。第一次接
觸的是C,沒什么好說的,我C學(xué)的不好,因?yàn)槲掖蠖臅r(shí)候經(jīng)商去了,而且我覺得C能做的,我用BASIC都
能做到,為什么要學(xué)C?當(dāng)然那個(gè)時(shí)候我成績(jī)真是北大的BBS...然后接觸到的就是C++,教材的錢能的
《C++程序設(shè)計(jì)》,這本書其實(shí)還是很不錯(cuò)的,不過很多看了兩本名著的朋友都對(duì)這本書嗤之以鼻,也許是
我天生很笨,在我看完了《C++PRIMER》后還經(jīng)常番看《C++程序設(shè)計(jì)》。《C++程序設(shè)計(jì)》雖然出書的時(shí)
候ANSI C++還沒有確定下來,不過它還是含蓋了C++所有語(yǔ)法,建議對(duì)C++感興趣卻又沒有任何基礎(chǔ)的人先
從這本書開始,簡(jiǎn)單而高效,不要認(rèn)為人家一上來就看《C++ PRIMER》或是《the c++ programming
language》就覺得自己的檔次很低,你要確信,你肯定能超過他!這本書課后習(xí)題在我看來是典型的結(jié)構(gòu)
化編程,即使到了CLASS,也全部可以用STRUCT代替。不過在這個(gè)階段做習(xí)題十分必要,用處我不想敲了
,推薦使用的編譯器就是書中所說到的編譯器(我忘記叫什么了:P)看完之后,如果你想說C++很簡(jiǎn)單的話
,建議你在看完了《C++ PRIMER》或是《the c++ programming language》之后再說。這兩本書都是基于
標(biāo)準(zhǔn)C++的,十分苛求的說,后者對(duì)標(biāo)準(zhǔn)的兼容性稍差:)。對(duì)這兩本書,我的看法是,如果你確實(shí)想仔細(xì)
的學(xué)習(xí),建議你看《C++ PRIMER》,如果你想跳過我將要寫到的下面兩本書的話,建議你看
《the c++ programming language》。對(duì)這兩本書,前者最高到中文第三版,因?yàn)榈谒陌妫笳叩教貏e版
。對(duì)于前者,我看后的感覺是它的優(yōu)點(diǎn)在于解析,特別是函數(shù),類,模板的解析,但是它并沒有含蓋C++
的方方面面,后者就不是這樣。實(shí)際上我并沒有仔細(xì)看過后者,只是同學(xué)總是拿這本書上的問題來與我商
量,所以有機(jī)會(huì)偷窺了幾眼。暫定你選擇的是前者繼續(xù)學(xué)習(xí),在看完后,也許你用C++編制普通的程序已
經(jīng)能夠運(yùn)用自如,但是你仍然應(yīng)該會(huì)有很多問題和遺憾,比如,類繼承,虛擬繼承,類訪問控制,類繼承
下的訪問控制,還有雖然我已經(jīng)對(duì)如何解析十分清楚,但是我仍然感覺我對(duì)語(yǔ)法掌握得不系統(tǒng),遺憾的是
,書中出現(xiàn)了很多的庫(kù)函數(shù),我為什么都不知道?這個(gè)時(shí)候建議你看看《標(biāo)準(zhǔn)C++寶典》,這本書對(duì)于語(yǔ)
法正所謂事無巨細(xì),一一道來啊,再就是回顧一下《C++ 程序設(shè)計(jì)》(錢能),對(duì)類的部分講解的還是十
分精辟的。在掌握了一切牢固的語(yǔ)法基礎(chǔ)之后,我選擇的下一步不是STL,而是IOSTREAM,原因之一是因
為《C++ PRIMER》并沒有把這一部分講述的很好,對(duì)了,《C++ PRIMER》也沒有把STL講述的很好,所以
我看《C++ PRIMER》的時(shí)候這些章節(jié)都跳過了,我的目標(biāo)是不求知道,只求精通。對(duì)于IOSTREAM,我選的
書是《Standard C++ IOStream and Locales》,我當(dāng)時(shí)還是看的E文原版,事實(shí)證明,我錯(cuò)了,這本對(duì)于
當(dāng)時(shí)的我,難度突然拔的太高,所以在看完了第一章之后我就放棄了,只是暫時(shí)的擱置下來了。對(duì)了,忘
記說,對(duì)于《C++ PRIMER》或是《the c++ programming language》的學(xué)習(xí),你應(yīng)該十分認(rèn)真的選擇編譯
器了,我推薦3個(gè)首選dev-cpp最高4.9.9.2,然后是vc.net(千萬(wàn)看清楚,不是vc6.0!),最后就是
borland c++ builder-X,具體我就不介紹了,相信你學(xué)習(xí)到這一步,自己應(yīng)該已經(jīng)掌握很多的信息了.繼
續(xù),下一步,我的選擇是〈深入探索C++對(duì)象模型〉,我是在圖書館借閱的,現(xiàn)在也有電子版了,不過我
看了以下,效果一般,但是可以和E文原版的電子版一起看。這本書看完。如果你是跟我一樣,把
《C++ PRIMER》翻爛掉,能把《深入探索C++對(duì)象模型》的知識(shí)要點(diǎn)全部背出來的話,我恭喜你,你的
C++水平已經(jīng)到中級(jí)了:)接下來,我的選擇是對(duì)C++這門語(yǔ)言為我提供的所有服務(wù)設(shè)施通透的學(xué)習(xí)一邊。
說穿了,就是庫(kù)函數(shù),C++庫(kù)函數(shù)分兩部分,一部分來自C語(yǔ)言,一部分就是STL,對(duì)于C語(yǔ)言部分,我建議
你可以買一本C++函數(shù)庫(kù)的書,最近好象剛出了一本,不過我還沒有機(jī)會(huì)看,我看的是〈C和C++代碼精
粹〉,里面把C語(yǔ)言部分的庫(kù)函數(shù)分為3類,這本書我也就看了這3個(gè)章節(jié),其他的東西我知道,看他做
甚?而對(duì)于STL,你如果真想成為C++出類拔萃的高手,你應(yīng)該看3本<<C++標(biāo)準(zhǔn)程序庫(kù)>> <<泛型編程與
STL>> <<STL源碼剖析>>,第一本主要講的是如何使用STL,第二本將STL的一些設(shè)計(jì)理念,并指導(dǎo)你進(jìn)
行泛型設(shè)計(jì),所謂泛型說穿了就是指模板。看完這些書,如果你跟我一樣,可以把STL全部重寫一邊的
話,那么恭喜你,你已經(jīng)成為C++準(zhǔn)高手,這個(gè)時(shí)候我的選擇是回過頭去看《Standard C++ IOStream
and Locales》,呵,現(xiàn)在才發(fā)現(xiàn)原來這本書這么簡(jiǎn)單!簡(jiǎn)直是naive!其實(shí),我現(xiàn)在最想做的事情就是能
夠把IO全部重寫一邊,不過還沒有找到合適的編譯器下手,感覺應(yīng)該用GCC比較好,還沒開始研究,我也
不清楚。好了,既然這么多本講述C++技術(shù)的書籍你都搞完了,也不在乎多兩本吧,呵呵。知道你應(yīng)該看
什么嗎?你應(yīng)該看看<exceotional c++>還有<effective c++>,這兩本書都有more版,不算太難,最后可
以看《高質(zhì)量C++編程》,最后有一套練習(xí)題,做做,小菜一樣。接下來我的選擇是<C++編程思想> 〈設(shè)
計(jì)模式〉 〈大規(guī)模C++程序設(shè)計(jì)〉(最后一本我最近才看完:P)這3本書可不講什么語(yǔ)法,第一本實(shí)在沒
有必要介紹,似乎每一種語(yǔ)言的編程思想的的書籍都是說的如何用這門語(yǔ)言編程,第二本其實(shí)并不能說是
針對(duì)C++,所有語(yǔ)言通用的一本書,關(guān)鍵是程序設(shè)計(jì)的方式,第三本被稱為〈設(shè)計(jì)模式〉的C++實(shí)踐篇,其
意義毋庸多說。看完了嗎?好吧,你應(yīng)該選一個(gè)項(xiàng)目鍛煉一下。如果你能在一個(gè)月內(nèi)看完這所有的書,歡
迎你加入ISS_SQL開發(fā)團(tuán)隊(duì),這個(gè)就是我近期想做的事情,我就是想寫一個(gè)自己的數(shù)據(jù)庫(kù)。不過如果你不
是外星人的話,我估計(jì)你不可能在一個(gè)月的時(shí)間內(nèi),看完我看了2年的書。對(duì)于我剛才說的SQL,我還在選
人,說實(shí)在的,現(xiàn)在我的同學(xué)里,真的是沒有幾個(gè)人的技術(shù)能讓我看的上的,哎,得一知己難啊!還是繼
續(xù)說編程,這個(gè)時(shí)候,你已經(jīng)有了頂級(jí)的C++基礎(chǔ),想學(xué)什么不容易?JAVA,你學(xué)了一個(gè)月??開玩笑,
我看了一個(gè)星期的書就開始做項(xiàng)目了!其實(shí)我覺得到了這個(gè)時(shí)候是一個(gè)面臨選擇的時(shí)候,一個(gè)是做UNIX下
的開發(fā),一個(gè)是做WINDOWS下的,不過我選擇了第三條路,也就是我正在學(xué)的,算法,因?yàn)槲业膶?dǎo)師正在
做973計(jì)劃中的數(shù)據(jù)挖掘項(xiàng)目,所以我也沾光,因?yàn)槭腔cweka,所以我用java,這個(gè)B語(yǔ)言真弱智,我已
經(jīng)開始討厭JAVA了,所以我才想用C++重寫一個(gè)WEKA類的開源軟件,不過我感覺用java寫算法,的確不
錯(cuò)。前段時(shí)間,我一個(gè)同學(xué)為了一個(gè)C#問題苦惱,問題粗略說來是GIS設(shè)備返回串,要進(jìn)行處理,提取數(shù)
據(jù),因?yàn)榇旧淼膹?fù)雜性,具體是怎么樣的我也不知道,因?yàn)樗倪@個(gè)是商業(yè)項(xiàng)目。這個(gè)問題在C#下十分
困難,連正則表達(dá)式都無能為力,所以我給他的建議是寫一個(gè)自動(dòng)機(jī),也不知道他最后的處理方式,不過
在java下,呵,大概不超過五十行代碼吧。說遠(yuǎn)了。
最后說說人的問題。有一點(diǎn)點(diǎn)浮躁的人建議你千萬(wàn)別想學(xué)C++,直接學(xué)VB或者C#算了,希望在浩方有
個(gè)排名的人,我直接告訴你,你不應(yīng)該學(xué)C++。
關(guān)于C++的學(xué)習(xí),我就說這么多,其實(shí)也感覺沒有說什么,只是把我學(xué)習(xí)C++看的每一門書都羅列出來
,雖有顯擺之嫌,但也確實(shí)希望給那些如曾經(jīng)的我一樣迷茫的摸索者,那些希望學(xué)習(xí)C++且追求完美技術(shù)
的人指一條明路。簡(jiǎn)單的說,你認(rèn)真看完我上面說的所有書,你就是C++高手!
改天,我把我文中提到的所有書籍的電子都匯總起來跟貼到下面。