偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C++11標(biāo)準(zhǔn)后的C++閱讀書目

開發(fā) 后端
C++ 新標(biāo)準(zhǔn) C++11 的發(fā)布導(dǎo)致了大批新書的出現(xiàn),還有一些經(jīng)典書籍也進(jìn)行了更新。Andrew Binstock 在 Dr.dobbs 上給大家推介一些學(xué)習(xí) C++ 必需的核心書籍。

C++ 新標(biāo)準(zhǔn) C++11 的發(fā)布導(dǎo)致了大批新書的出現(xiàn),還有一些經(jīng)典書籍也進(jìn)行了更新。Andrew Binstock 在 Dr.dobbs 上給大家推介一些學(xué)習(xí) C++ 必需的核心書籍。

1. 《C++程序設(shè)計(jì)語(yǔ)言》英文第四版,作者: Bjarne Stroustrup

這本書已經(jīng)被正式列為C++編程的權(quán)威書籍。它堪稱語(yǔ)言界的權(quán)威,獨(dú)具特色,書面清晰,由設(shè)計(jì)C++的Stroustup所著。 也許有些讀者認(rèn)為ANSI C++文檔才是最佳選擇,但是這本書作為一個(gè)十分簡(jiǎn)潔的參考書籍,更適合已經(jīng)對(duì)該

語(yǔ)言有所了解的讀者們。該書為新特性提供了友好的解釋,外加一些對(duì)于需要做的以及避免做的事情的建議,使得它成為了想要理解具體的特性的讀者們的最佳選擇。從這個(gè)意義上來(lái)說(shuō),這本書遠(yuǎn)遠(yuǎn)不止是一本參考教程。

一些外在方面可能對(duì)這本書有所貶低,尤其是它沒(méi)有使用等寬字體來(lái)打印代碼。 不管對(duì)于一些讀者來(lái)說(shuō),這看起來(lái)有多美觀,它還是拋棄了普通的代碼讀者,他們希望垂直對(duì)齊,但這不可能出現(xiàn)。盡管這樣,代碼的排版還是比以前的版本好太多 了。另一擔(dān)憂會(huì)跟C++本身有關(guān),而不再是這本書。這個(gè)版本有1328頁(yè),比原始版本大約多了1000頁(yè)。 Stroustrup對(duì)于庫(kù)給了很少的介紹,這些數(shù)字足以說(shuō)明C++已經(jīng)變得有多復(fù)雜。 盡管有這些問(wèn)題,但是我很清楚,對(duì)于C++程序員來(lái)說(shuō),不管使用這門語(yǔ)言的新特性有多困難,他們都得堅(jiān)持,唯有這樣,才能前進(jìn)。 極力推薦此書!

(第四版的中文版還沒(méi)有出,目前《C++程序設(shè)計(jì)語(yǔ)言(特別版•十周年中文紀(jì)念版)》)

 

C++ Programming Language 4th Edition

2. 《C++ Primer 第 5 版(英文版)》由 Stanley Lippman,Josee Laoie 和 Barbara Moo合著

多年來(lái),C++ Primer 已經(jīng)成為了C++的明確教程。 該版本主要針對(duì)C++11標(biāo)準(zhǔn)進(jìn)行了更新,完全重寫了。 900頁(yè)密集的頁(yè)面里,對(duì)該語(yǔ)言的每一個(gè)角落都進(jìn)行了詳細(xì)的探索。 這種說(shuō)法也許有點(diǎn)保守。這本書的基調(diào)和內(nèi)容都遠(yuǎn)遠(yuǎn)超過(guò)書名”入門”這個(gè)詞所指的意思。在語(yǔ)言上,沒(méi)有一節(jié)能是”快速講解”,相反,從質(zhì)量到文本都做了很耐 心的描述以確保能涵蓋該語(yǔ)言的每一個(gè)方面,預(yù)見(jiàn)到C++程序員可能遇到的任何問(wèn)題。想知道將析構(gòu)函數(shù)聲明為C++11標(biāo)準(zhǔn)的deleted函數(shù),會(huì)帶來(lái)什 么樣的嚴(yán)重后果嗎我也不知道。但是這本書里會(huì)有詳細(xì)的解答,并引用了其他章節(jié)作為額外的輔助信息。

同樣,這本書也僅僅包括了語(yǔ)言方面,還有一些對(duì)庫(kù)的討論和附錄,附錄總結(jié)了庫(kù)里包含的各種各樣的頭文件和算法(關(guān)于C++庫(kù)的詳細(xì)介紹,我推薦這兩 本書《The C++ Standard Library: A Tutorial and Reference》, 后面會(huì)提到。坦白講,你想知道的關(guān)于C++的任何東西,在這兩本書里都有透徹的講解。 剛才提到的Stroustrup的那本書《C++ Programming Language, 4th Ed》, 似乎是這本書的競(jìng)爭(zhēng)對(duì)手。 Stroustrup的書主要是一本注重講解的參考書,也可以偶爾查詢用。但是這本書要實(shí)用得多。它有討論到,如果你沒(méi)有正確使用新特性,會(huì)出現(xiàn)什么問(wèn) 題,還包含了大量的代碼,總之,相對(duì)于前一本書,這本書提供了更多的指導(dǎo)。

對(duì)于這本書,我唯一的擔(dān)心就是它很明確是為已經(jīng)了解基本語(yǔ)言的讀者編寫的。對(duì)于在校學(xué)生,甚至是一些有經(jīng)驗(yàn)的程序員但是初次接觸C++,我不推薦這 本書。它的內(nèi)容太詳細(xì)以致于不能通過(guò)快速閱讀達(dá)到高效地掌握該語(yǔ)言的效果。 但是對(duì)于現(xiàn)有的C++開發(fā)人員,尤其是那些想要使用C++11新特性的開發(fā)者,這本書就是很好的選擇。

 

 

3. 《C++標(biāo)準(zhǔn)庫(kù):自學(xué)教程與參考手冊(cè)(第2版)(英文版)》Nicolai Josuttis著

這是C++標(biāo)準(zhǔn)庫(kù)的經(jīng)典教程和參考的第二版,根據(jù)新標(biāo)準(zhǔn)C++11進(jìn)行了更新。不像其他許多書,包含了庫(kù)和API,這不是對(duì)一大堆函數(shù)調(diào)用的美化解 釋。相反,它把標(biāo)準(zhǔn)庫(kù)(主要是STL)分解成了一些小節(jié),解釋了組件設(shè)計(jì)用到的基本方法。這時(shí)候,作者才進(jìn)入到API的細(xì)節(jié)部分,結(jié)尾處總結(jié)了所有其它可 能要用到的方法,還有一些簡(jiǎn)短的解釋。容器部分才是精華,對(duì)設(shè)計(jì),內(nèi)部結(jié)構(gòu)和應(yīng)用的解釋,以及各種選擇之間的比較。

這些論述很有說(shuō)服力,條理清晰,信息量超大。例如,STL函數(shù)對(duì)象和匿名函數(shù)的章節(jié),花了12頁(yè)篇幅只是為了解釋什么是函數(shù)對(duì)象以及為什么要使用它 們。這些論述之后,作者又花費(fèi)了12頁(yè)來(lái)解釋預(yù)定義函數(shù)對(duì)象。在這個(gè)時(shí)候,他就已經(jīng)為最后的討論《匿名函數(shù)之旅》 奠定了基礎(chǔ)。所以全書總共1000多頁(yè)。這些解釋很多都使用了簡(jiǎn)短,又突出重點(diǎn)的程序來(lái)說(shuō)明,所以你能夠很確切地理解一個(gè)函數(shù)是如何使用或應(yīng)用的。

這本書的第一版被許多的C++程序員視為真正的經(jīng)典。我覺(jué)得第二版沒(méi)有道理不受歡迎。對(duì)此不熟悉的讀者,不管是把它看作是第一本書的升級(jí)版還是另一本新書,我都強(qiáng)力推薦。這篇簡(jiǎn)短的介紹也算是對(duì)這本是的一個(gè)很好的補(bǔ)充。

c++ReadingList3

The C++ Standard Library 2nd Edition

#p#

4. 《C++ Concurrency in Action | C++ 并發(fā)實(shí)戰(zhàn)》 Anthony Wiliams著

這本書主要是講在使用C++11特性時(shí)對(duì)并發(fā)的深入探討。 它是由作為語(yǔ)言新線程支持基礎(chǔ)的Boost Thread 庫(kù)的主要開發(fā)及維護(hù)人員編寫的??傊髡吆苡袡?quán)威性。

該書從最基礎(chǔ)的東西開始,假設(shè)讀者已經(jīng)有良好(甚至是非常好)的語(yǔ)言基礎(chǔ),但是首次接觸并行代碼。 該書逐步地探討了一些由并發(fā)帶來(lái)的問(wèn)題,講述了互斥的解決方案和局限性,以及它們是如何在C++11中實(shí)現(xiàn)的。接下來(lái)講述了C++的內(nèi)存模型和原子類型。 最后,深入探討了基于鎖和無(wú)鎖數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。這是自從Herb Sutter在書中討論這個(gè)話題之后,我所見(jiàn)過(guò)的最好的處理方法。

這本書很全面地涵蓋了一些真正重要的話題,這些話題在其他書籍中是經(jīng)常被忽略的,比如像,多線程的代碼設(shè)計(jì),線程應(yīng)用程序的調(diào)試。當(dāng)然,在我看來(lái), 這兩者都描述得太少了。 書中大部分內(nèi)容都是作為參考資料(就單獨(dú)的C++線程庫(kù)就有差不多130頁(yè))。 另一個(gè)附錄是一個(gè)完整的消息框架,并給出了代碼和注解。 毫無(wú)疑問(wèn),作者還是花費(fèi)了很大的心思,相關(guān)的內(nèi)容都講到了。

對(duì)于這本書,我也有不滿意之處,但是它們都微不足道。 第一個(gè)就是你必須深入了解C++,否則閱讀起來(lái)比較困難。另一個(gè)就是作者最后一章講述的線程池,用紅色字體顯示的”高級(jí)線程”。在我看來(lái),線程池在并發(fā)處 設(shè)定標(biāo)記很有意思,但是很可惜,作者卻在這兒停筆了。由此可得知,雖然作者在目錄有提及到角色模型,但并沒(méi)有進(jìn)行講解,就好像它壓根兒不存在一樣,可能在 William看來(lái),它其實(shí)對(duì)好幾種語(yǔ)言至關(guān)重要,卻不包括C++。

總的來(lái)說(shuō),這些不滿意之處只能反應(yīng)我的偏好,不能說(shuō)明這本書有缺陷。William的這本書非常棒,至少在未來(lái)的很長(zhǎng)一段時(shí)間里都能稱得上是這個(gè)領(lǐng)域的典型著作。

如果你想更仔細(xì)地看下這本書的內(nèi)容,我們最近在一篇很受歡迎的文章里”Waiting for One-Off Events with Futures。”有摘選了一些片段。

c++ReadingList4

C++ Concurrency in Action

 

5. 《C和C++安全編碼(英文版第2版) 》 (中文版的還是第一版)Robert Seacord著

這本書主要寫關(guān)于C和C++的安全編碼。新版的內(nèi)容幾乎是2005年原版的兩倍,展示了我們究竟學(xué)習(xí)了多少關(guān)于攻擊代碼的知識(shí)。實(shí)際上,在讀這本書 的時(shí)候, 你可能被當(dāng)下各種五花八門的東西弄得暈頭轉(zhuǎn)向。然而,正如作者所說(shuō)的,安全其實(shí)不僅僅是實(shí)現(xiàn)反攻技術(shù),而是在實(shí)現(xiàn)的過(guò)程中保持一種安全防范的思維定式。他 認(rèn)為,只有保持這種心態(tài),才有辦法減少那些未知的攻擊所帶來(lái)的損害。

這本書詳細(xì)講解了各種類型的黑客以及怎么阻止黑客或者讓他們感到氣餒。書中的解釋一目了然,代碼也很清晰。但是它在要求上比其他編程書也更高一些: 要求讀者必須對(duì)C和C++d的執(zhí)行有很好的了解,并且清楚在機(jī)器層發(fā)生了什么。因?yàn)檫@些必需的知識(shí),書中沒(méi)有提到,所以如果事先不去了解的話,你可能不會(huì) 真正理解書中的精華部分。

對(duì)于那些真正理解了程序執(zhí)行的內(nèi)部工作原理的開發(fā)人員來(lái)說(shuō),這本書就是不僅僅是一個(gè)很好的入門,更是一種啟示。例如,如果你不是一個(gè)安全方面的專 家,Seacord在書中關(guān)于攻擊是如何通過(guò)加倍釋放已分配的內(nèi)存塊被激活的論述, 凸顯了簡(jiǎn)單的編碼錯(cuò)誤的這一特征,可能就會(huì)被完全忽略了。 書中的解釋很有啟發(fā)性。

該書的實(shí)踐本質(zhì)就是讓你頻繁地使用一些推薦的工具去驗(yàn)證代碼,并鎖定黑客喜歡探索的訪問(wèn)機(jī)制。這本書真的很棒,絕對(duì)讓你受益匪淺,當(dāng)然,也會(huì)使你成為一名更優(yōu)秀的程序員。

 

Secure Coding in C and C++ 2nd Edition

 

6. 《Real-Time C++》Chris Kormanyos著

這本書簡(jiǎn)單地介紹了在實(shí)時(shí)項(xiàng)目中如何使用C++11。作者介紹了幾個(gè)基本的項(xiàng)目,展示如何使用C++11來(lái)完成編碼。他以艾特梅爾公司的AVR單片 機(jī)為例,使用GCC工具鏈編譯,從產(chǎn)品設(shè)計(jì),到硬件和編碼的實(shí)現(xiàn),以及如何刷機(jī)和運(yùn)行程序都給出了解釋,在各種不同的環(huán)境下啟動(dòng)發(fā)光二極管。接下來(lái)又引入 了更復(fù)雜的項(xiàng)目,像使用C++編寫底層硬件驅(qū)動(dòng)程序。在最后一章,繼續(xù)探討了標(biāo)準(zhǔn)C++庫(kù)和STL為嵌入式所用。

這本書很實(shí)用,書中的代碼也很清晰。它表明了對(duì)于進(jìn)行嵌入式工作的來(lái)講,C++11是一個(gè)合理的選擇。總之,對(duì)于想要進(jìn)行嵌入式編程的C++開發(fā)人員來(lái)說(shuō),這本書是很好的教程。但是它所選的一些案例項(xiàng)目,可能對(duì)于那些活躍在該領(lǐng)域的開發(fā)者來(lái)說(shuō),沒(méi)有什么吸引力。

c++ReadingList6

Real-Time C++

原文鏈接:http://www.drdobbs.com/cpp/c-reading-list/240155654?pgno=1

譯文鏈接:http://blog.jobbole.com/47357/

責(zé)任編輯:陳四芳 來(lái)源: 博樂(lè)在線
相關(guān)推薦

2011-10-13 10:21:01

C++

2012-12-25 10:52:23

IBMdW

2025-04-30 10:10:00

在 C++C++11Lambda

2020-06-01 21:07:33

C11C++11內(nèi)存

2013-07-29 11:11:33

C++C++11

2011-03-31 09:30:07

CC++聲明

2024-05-29 13:21:21

2024-02-21 23:43:11

C++11C++開發(fā)

2015-07-13 10:52:15

TIOBE編程語(yǔ)言排行榜

2015-07-13 10:43:42

C++編程語(yǔ)言排行

2013-12-23 09:48:43

C++鎖定模式

2013-05-30 00:49:36

C++11C++條件變量

2021-06-11 10:53:40

Folly組件開發(fā)

2020-12-09 10:55:25

ArrayvectorLinux

2013-07-31 11:09:05

C++11

2013-11-29 09:51:26

C++雙重檢查鎖定

2011-06-22 09:43:01

C++

2020-09-23 16:31:38

C++C++11啟動(dòng)線程

2023-09-22 22:27:54

autoC++11

2019-09-18 09:05:26

微軟開源Windows
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)