漫談C++編程的編程技巧與技巧
我覺得C++編程是件快樂的事情,這里分為了許多學(xué)習(xí)的C++編程的技巧和主要事項(xiàng),本文的重點(diǎn)并不是告訴大家編程過程中的苦與樂如何如何,而是要竭力向讀者你介紹這部書籍的好處及缺點(diǎn)(當(dāng)然,缺點(diǎn)肯定是一帶而過了)。
是的,作為一個(gè)幸運(yùn)的成為程序員的家伙,我們?cè)谄綍r(shí)的工作中不止一次地體會(huì)到了Brooks在書中所描述過的快樂。但是,套用一句經(jīng)典的臺(tái)詞:“快樂總是短暫的,換來的便是那無盡的痛苦?!蓖瑯舆€是在《人月神話》中,Brooks也提到:“這個(gè)過程并不全都是快樂……”
上面這段話的實(shí)際作用也只是為了讓我更好地轉(zhuǎn)入到我想要敘述的事情之中?,F(xiàn)在我將開始轉(zhuǎn)入到了本文的重點(diǎn),向大家推薦一本講述C++的經(jīng)典書籍——《Exceptional C++》。#t#
眾所周知,作為一門編程語言,C++編程一直以來都是以難學(xué)難用而“著稱”,不過作為一門重要的系統(tǒng)級(jí)的編程語言,很多時(shí)候我們又不得不去面對(duì)這門“強(qiáng)悍”的語言。為了讓大家更好地學(xué)習(xí)和掌握這門語言,C++編程社區(qū)做了大量的工作,編寫了大量的書籍來講述C++的方方面面,其間也涌現(xiàn)了大量的經(jīng)典C++書籍。
如:百科全書式的《The C++ Programming Language》;參考手冊(cè)式的《The C++ Standard Library》;經(jīng)驗(yàn)條款式的《Effective C++》;獨(dú)樹一幟專攻某一面的《C++ Template——The Complete Guide》、《Inside C++ Object Model》……如此等等。這一切也讓學(xué)習(xí)C++的過程成為了一條“痛并快樂著”的經(jīng)歷———痛是因?yàn)閷W(xué)習(xí)的過程,快樂是因?yàn)閷W(xué)習(xí)的收獲。
故此有人說,評(píng)價(jià)一個(gè)C++程序員的水平,從他看過的書籍列表中就可以得出個(gè)大概。這種言論在實(shí)際中也擁有頗多的擁護(hù)者,由此也驗(yàn)證了C++編程的學(xué)習(xí)之艱難。
更而甚者,不是每本C++書籍都是讀起來讓人心情愉快乃至一閱千頁的,很多的時(shí)候,為了讓你更好地領(lǐng)會(huì)到“從錯(cuò)誤中學(xué)習(xí)才是最有效的學(xué)習(xí)”,在很多的經(jīng)驗(yàn)條款性質(zhì)的書籍中,作者都會(huì)在其中巧設(shè)機(jī)關(guān),等待著傻呼呼的讀者你自己掉入他所設(shè)的陷阱之中。
然后可憐的你就成了作者最忠實(shí)的聽眾,跟隨著他一次次地出沒于C++的驚濤駭浪之中,并且從中學(xué)會(huì)了如何避免被風(fēng)暴卷入的技巧,而使得自己逐步成為一個(gè)合格的弄潮兒。在這些作者以及他們所撰寫的書籍中,又以C++標(biāo)準(zhǔn)委員會(huì)現(xiàn)主席Herb Sutter老兄以及他編寫的Exceptional系列(已出版的包括:《Exceptional C++》、《More Exceptional C++》、以及《Exceptional C++ Style》)為甚。#t#
作為現(xiàn)階段的C++社區(qū)第一人(C++的創(chuàng)始者Bjarne Stroustrup現(xiàn)在已經(jīng)算是半退隱了,故筆者斗膽將其從寶座上拖下~~),HerbSutter的簡歷我就不愿花費(fèi)寶貴的篇幅去描述了,我們只來評(píng)論他所寫的書籍以及他的獵物。看看他的槍口中都有誰撞上去了吧,Scott Meyers!Wow!又是一個(gè)如雷貫耳的名字!看看他都說了些什么:
我將GotW(Guru of the Week,每周大師)的發(fā)音讀作“Gotcha”,這可能是比較合適的。當(dāng)我將自己對(duì)書中問題的解答與Sutter所給出的解答相比較時(shí),我總是會(huì)掉入他(和C++)給我設(shè)置的陷阱中,雖然我不是很情愿地去承認(rèn)這些,但事實(shí)確實(shí)如此。對(duì)于我所犯的每個(gè)錯(cuò)誤,我都好像看到了Herb在微笑地說著“Gotcha!”
Scott Meyers,Preface Of Exceptional C++編程雖說應(yīng)邀來為好友書籍撰寫序言,Scott Meyers可能稍微夸大了一下自己的失誤;但作為新聞組中最負(fù)有盛名的常規(guī)性活動(dòng),Guru Of The Week對(duì)參與者的要求確實(shí)不是一般人能夠滿足的,其問題的深度也是遠(yuǎn)遠(yuǎn)超出大部分人平時(shí)所能考慮到的,可以不負(fù)責(zé)任地說一句,能夠參與到Guru Of The Week活動(dòng)中并提出自己見解的人,其水平絕對(duì)到了我們通常所指的“高手”
即便如此,Guru Of The Week的產(chǎn)生速度實(shí)際上還沒有達(dá)到Scott Meyers所說的“每周一位”,由此可見,成為Guru Of The Week那是多么困難的一件事情。幸運(yùn)的是,作為文明的收益者,我們不必再“閉門造車”,自行去思考出那些怪異的Got W問題的答案,而是可以直接從前人的經(jīng)驗(yàn)中吸收到自己所欠缺的那部分知識(shí)。更為幸運(yùn)的是,Herb Sutter還特意將這些問題中的部分及其答案修正和重新整理。
并且分門別類地把它們做成不同的系列供我們閱讀、參考、以及查閱。雖說在最開始一遍的閱讀中,筆者近乎“逢陷阱必踏”,簡直是苦不堪言,痛徹心扉啊~~,但每當(dāng)思及Scott Meyers的上述言論以及自己從書中所得到的巨大收獲,我又“腰不酸了,背不疼了,腿也不抽筋了……”并且隔段時(shí)間時(shí)不時(shí)地翻閱該書,又能讓我得到不同層次上的收獲,正所謂:“痛并快樂著!”不外如是!