如何對C++標準程序庫設(shè)計
下面著重進行C++標準程序庫詳細說明,在介紹C++標準程序庫之前,先要大家了解下什么是C++標準程序庫?所謂的C++標準程序庫: Makefile就像一個Shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令。
所以撇開我個人對C++的偏愛,我想為你樹立起學(xué)習(xí)C++的信心和興趣。當初我對自己學(xué)習(xí)C++的***個忠告就是:不能半途而廢!起初是興趣驅(qū)動,后來則是生計所需,***還是回歸到了興趣。
畢竟我從中得到了樂趣,這就足夠了。在學(xué)一個新東西前,解決動機問題很重要。就如同殺人一樣,如果只是突然興起,那么等嘗試了以后,是沒有成就感的。革命先烈們?yōu)槲覀冏鞒隽撕芎玫陌駱?,就算我們在學(xué)習(xí)C++標準程序庫的道路上遇到了太多困惑和痛苦,但是我們畢竟為自己的信念做了努力,我們知道自己在做什么,知道自己在追求什么。
C++是一門廣泛用于工業(yè)軟件研發(fā)的大型語言。具有很高的復(fù)雜性和解決問題的能力。C++不僅在開發(fā)上***價值,同時在學(xué)術(shù)界也就有很高的價值。有關(guān)C++的文章應(yīng)該可以用浩如煙海來形容了吧。
C++的***經(jīng)典書籍也是數(shù)不勝數(shù)。然而,目前開發(fā)語言是如此地繁榮,就連微軟也在推出了新的開發(fā)語言C#。一個不可否認的現(xiàn)實是,在低階程序設(shè)計領(lǐng)域,C++擠壓著C同時也在承受著C的強烈反彈,前段時間看了據(jù)說是微軟操作系統(tǒng)源代碼的東東,其中很多還是C語言。而在高階程序設(shè)計領(lǐng)域,Java和C#正在不斷蠶食著C++的地盤。
任何語言都只是工具而已。重要的是使用工具的人!就我個人的經(jīng)驗來講,真正處于業(yè)界搞開發(fā)的人都愿意使用成熟的、為自己所熟知的技術(shù)來完成工作。而新手都喜歡用一些比較新的技術(shù)來做開發(fā),而且喜歡追求新奇(從界面很容易看出來,花花綠綠的界面多半出自新手)。其實,安于用一些效率可能低下、擴展性和維護性差的方法來解決問題并不是開發(fā)人員的錯。
他們只是在完成工作而已。但是作為一個真正有上進心的開發(fā)人員,我們應(yīng)該使用更優(yōu)雅和高效的編程技術(shù),這才是我們逐漸變成編程“大?!钡暮昧?xí)慣。老是停留在原地,很容易被淘汰的。在軟件開發(fā)這個行當,尤其如此。無論是對學(xué)生,還是一線開發(fā)人員,我覺得都不應(yīng)該產(chǎn)生“書讀夠了”的感嘆!我有時候喜歡將以前看過的書翻出來再看,每次總能體會到一些新東西。
有關(guān)C++語言的書籍更是如此,而且我覺得我所起的題目不是很好。為什么?因為我覺得學(xué)習(xí)語言還只是新手跨入軟件開發(fā)“地獄”的***步,單單學(xué)習(xí)語言本身是遠遠不夠的,還要學(xué)習(xí)相關(guān)的程序庫(C++當然***是先學(xué)習(xí)C++標準程序庫)、相關(guān)的平臺技術(shù)(如。NET),說得更遠一點,還要鍛煉對目標問題的分析、歸納能力等等。工作之前,技術(shù)路線自己作主,工作之后,絕大多數(shù)程序員將被公司技術(shù)路線左右。
所以,趁現(xiàn)在還有時間,可以學(xué)一些自己感興趣的。如果想搞軟件開發(fā),特別是電力系統(tǒng)軟件的開發(fā),學(xué)好C++不會令我們失望。當我們進入C++的前門,然后經(jīng)過一段黑暗之路,再從后門出來到達光明頂后,我們會體味到“一覽眾山小”的感覺。
推薦書籍:《編程高手箴言》梁肇新(用過超級解霸的都應(yīng)該知道吧,^_^)寫的***本書,其中有幾章還是值得一讀的。在這本書中,梁告訴我們,學(xué)東西要耐心,要耐得住“寂寞”,走自己的路,讓別人去“說”吧!
最近比較忙,原來打算緊扣主題講講一些具體的C++語言的細節(jié)的,但還是抽不出大段的時間了。所以,現(xiàn)在只能再漫談一些關(guān)于C++的故事了。
C++源于C語言,還記得很久以前學(xué)習(xí)C語言的時光(那是一段快樂而充實的時光),可是現(xiàn)在學(xué)習(xí)C++,并不是在C的基礎(chǔ)上加上了類而已,如果這樣認為,我們是耍不好C++的。因此,C++絕不是C的升級或擴充,我們應(yīng)該把C++當作一門新語言來學(xué)習(xí)(C++之父Bjarne Stroustrup語)。
寫程序首先希望是程序能正確執(zhí)行,其次是效率能夠被接受,再次就是易于維護。C++是一個難學(xué)易用的語言。C++提供了太多可選擇的東西,而且使用使用C++來寫程序可以有四種思考模式:基于過程、基于對象、面向?qū)ο蠛头盒汀?/P>
我們使用一種語言來寫程序,并不意味著就是使用語言本身,換句話說,我們更多的時候是使用程序庫在寫程序。比如MFC、STL、ATL、VCL等等。其中要使用C++來寫出結(jié)構(gòu)優(yōu)美、性能卓越、代碼簡潔、易于維護的代碼,首推C++標準程序庫。
STL對效率做了嚴格的要求,而且使用STL寫出來的程序簡潔美觀(前段時間我特意貼了一個要求對若干整數(shù)進行排序的帖子,其實目的就是用來展示STL的簡潔優(yōu)雅)。一旦習(xí)慣使用泛型思維來考慮問題,我們能夠充分體會到模板帶來的美!
對于數(shù)值計算來說,C++標準程序庫可以充分滿足現(xiàn)代化服務(wù)和商業(yè)計算對數(shù)據(jù)、信息的即時回應(yīng)的要求。
【編輯推薦】