深入學習c 書單

2021-06-09 00:53:21 字數 3629 閱讀 1702

本來有一本c++程式設計,一本c++primer(沒怎麼看過),經過師兄推薦又買了effective c++ 和more effective c++ (技術面試的時候會問的比較深 ,要研究的比較透徹一些)

第一篇一些同學問我,如何學好c++,我沒有別的辦法給你們,唯一的辦法就是讀書,讀大

量的書,就可以解決。要把c++作為日常語言,而不是一種程式語言,這樣就好辦了。

有人又要問我,那麼我應該讀什麼書才好?沒有時間怎麼辦?

我只能對你們說,沒時間的話,就別學c++了,做你們喜歡做的事。生活中沒有

c++,也同樣美好。

如果你準備學,一定要學好,那麼我開個書單,應該問題不是甚大。

首先肯定要讀一讀bjarne stroustrup的the design and evolution of c++,了解

一下這個語言的歷史。接下來就可以看別的書了,但要不停地回頭看這本書,看到

你不斷地學到的新技術是怎麼樣一點點地被接納到這個語言中去的。

第一本書因人而異,基礎好一些的,可以看stanley b. lippman的c++ primer,這

本書非常地巨大,你打星號的部分可以不要看。基礎不太好的,可以看stanley b.

lippman的essential c++,這本書份量要輕得多,不過四個c++的范型都講了,而

且講得非常清楚。

第二本應該停止技術層面的東西,靜下心來看看pike和kernighan的the practice

of programming,好好地整理一下,在程式設計中應該有哪些注意的事項。這本

非常薄的booklet,可以說是程式設計師必讀的指南。

第三本書,就應該是bruce eckel寫的、候捷譯的thinking in c++,這本書每過

半年我就要重讀一遍。可以說每一章都是寫得發人深省的,這本書讓我感覺到了

技術運用的非常高的境界,但是語言非常平實,只要認真地讀,即使基礎不行,

也一定可以懂。我在教課的時候,就是用這本書(面對的學生是零基礎)。

要更上一層的話,就要慢一步,先要把握c++設計習慣的良好。這是scott

meyers的effective c++和more effective c++帶給我們的無盡收益。我more

effective c++買不起,只好花了10塊錢影印裝訂了一本"線裝本",看起來像葵花

寶典(;-))。這兩本書是真正的經典,作者對c++的純熟,使得語言的風格讀起來

簡直是如飴甘甜,就像他站在對面在講課。我手中有這兩本書的原版cd,如果有興

趣,可以發e-mail到[email protected]或在飲水思源投條兒給gaobo索要,只要您提供

光碟我就給免費燒。如果你已經深刻地理解了effective c++和more effective

c++,那你可以發現,你在眾人中已經是雞群之鶴。可以指導專案運作了,可以編

寫一切你想做的程式了,可以指出別人看起來不錯的**的大小問題了。如果你能

一眼看出有人的**是對應於"條款27"或"條款m6",那你可真是讓本人刮目了。

我已經講了,如果要寫程式,ec++和mec++的境界已經足以使你自如應付,可是如

果你還不滿足,想關注一些理論層面的問題,或是想看看實現的**,你就不應該

錯過這幾本好極了的書。我是說herb sutter的exceptional c++和more

exceptional c++,這兩本書的難度是非常大的,我對每一條的閱讀筆記都是十多

頁。特別是泛型程式設計的部分,這兩本書旁徵博引,極盡深入**之能事,每每

看懂一條,都抹汗一次,大感酣暢淋漓;還有侯捷的 stl原始碼剖析 ,以實際的

stanley b. lippman,cfront的實現者之一,執筆寫出inside the c++ object

model,我只有乙個字,就是基本帥呆了。我從中了解了無數的編譯器解釋源**

的細節,以及記憶體分配的細節,呵呵,這些都知道了,我還怕什麼呢?最近得到

了另一cfront實現者、c++標準委員會koenig的 c++沉思錄,看起來非常不錯,這

裡也推薦給大家,但我也沒看完,亦無發言權。

最後最後,你們,未來的c++理論家們,可要記住,bjarne stroustrup的the c++

programming language無論如何也應該讀個四五遍!這是一切c++的書本的源泉。

如果還覺得不夠,就向c++標準委員會訂購一本c++標準。

一切中國大陸作者的書,一概不要看(包括我的)。一切vc++或講特定的編譯器的

書,一概不要看。如果需要補c語言的課,買一本非常小的k&r的the c

programming language足矣,其它的書一概不要看。不要先學c,再學c++,而要直

接學c++。你不是先學古文,再學白話的,對不對?所以相信我,直接來更容易。

以上文字,皆為原創,本人願意為每個字負責。

第二篇1、《effective stl》

訂購:出版社:中國電力出版社

一開始欺負這本書比較薄,想快點看完,但不久就發現自己已經翻不動了。直

到看完最後乙個字,才發現乙個基本的事實:薄的不是這本書,而是自己的見識。

有關stl的書也讀了不少,正如讀《effective c++》以前,有關c++的書也讀了

不少。meyers的書總是給人一種脫胎換骨的提公升感覺,他總能在大家以為老生常談

的地方挖出意想不到的新意,並指出一些一般人習以為常的東西其實存在種種危機,

或是在一些看來完全等價的選擇中,為特定的場合選擇最有效的(most

effective)那一種。而且他的切入口總是讓人看得懂的(不像stroustrup的書,

第一句話就要琢磨半天),但是他總是會選擇幾個拓展點,並把它們分析得淋漓盡

致,這時候就需要一段**一段**甚至是語句粒度地閱讀了——當然,最後總是

看得懂,這和讀者的閱讀程度總是正比,這會給人極大的成就感。可以說,在stl

實踐的書籍,無書可出其右(當然在stl實作方面,我還是要向大家推薦侯捷的

《stl原始碼剖析》)。

讀完這本書後,和pascal就產生明顯的距離感了。這裡我仍然要說:請熱愛

delphi!我還是更願意寫「var s:set of char;」而不是

「set , allocator> s」,;-)。

2、《modern c++ design》

訂購(中文):

訂購(影印):

譯者:侯捷、於春景

出版社:華中科技大學出版社(中文)

中國電力出版社(影印)

讀完這本書的第一頁,我就知道自己放不下它了,但我也知道,我的苦難經歷

又要多上一筆了。用c++實作設計模式,已經是骨灰級的難度,但這本書明顯還在講

乙個template的物件模型的問題,這在我讀《inside the c++ object model》時是

屢攻不下的難點。不過,出乎意料的是這本書居然使我具有一些概念了,而且動手寫

出了乙個smartpointer。

這本書我還遠不能說我讀懂了,但是確乎是讀完了。如果你還沒有讀過物件模型

和設計模式的書,我認為需要讀一讀。否則,直接看這本書根本就是受罪。最近,有

一些朋友也注意到設計模式的重要性了,可能從明年起我在《電腦報》上要發表一些

文章,屆時請朋友們指教吧。

另外就是effective c++點評繼續寫,我現在覺得更惶恐,但是信心也更足了。

C 深入學習 反射

目錄 一 概述 二 基本使用 2.1 獲取程式類容基本步驟 2.2 使用舉例 2.2.1 建立物件 訪問設定屬性值 使用其中無參方法 2.2.2 建立帶參建構函式並訪問其中帶參方法 2.2.3 反射過載過的方法 2.2.4 反射泛型類和泛型方法 2.2.5 反射型別中的私有類容 屬性 方法 2.2....

C 深入學習 特性

目錄 一 概述 二 基本概念 三 自定義特性 四 給物件的屬性自定義驗證規則 五 總結 特性,說的白話一點,就是說明某個東西的特殊性,它不能單獨存在,必須依附在某個東西上,這裡的東西是指c 中類,屬性,方法。特性就是對這些類,方法,屬性進一步修飾。比如說,定義個 sting 型別 屬性a 我們要求該...

C 深入學習 委託

一 基本概念 有過買二手房交易的朋友都有感觸,辦理過戶等等一系列手續都是相當麻煩的,這個時候,房產中介出現了,我們只需要將必備資料交個中介,他們就會幫忙辦理的妥妥的,我們並不需要關係整個辦理過程,這個過程就是委託,委託房產中介辦理相關手續。再入,我們用的蘋果手機,也並不是蘋果公司直接生產,也是委託代...