Accelerated C++中文版通過示例進(jìn)行編程實(shí)踐

出版時(shí)間:2012-7  出版社:科學(xué)出版社  作者:(美)Andrew Koenig,Barbara E. Moo  頁數(shù):336  字?jǐn)?shù):535000  譯者:張明  
Tag標(biāo)簽:無  

內(nèi)容概要

  為何本書讓人如此印象深刻?因?yàn)椋?br />  ◎ 它開門見山,向讀者介紹那些最有用的概念,而不是基礎(chǔ)內(nèi)容;讀者很快就能上手編程。
  ◎
它描述了現(xiàn)實(shí)世界的問題并提出解決方案,而不是單純講述語言特性;由此,讀者不但學(xué)習(xí)了這些特性,而且知道如何在程序中使用它們。
  ◎ 它涵蓋的范圍同時(shí)包括了語言本身和標(biāo)準(zhǔn)庫;讀者從一開始就可以使用標(biāo)準(zhǔn)庫編寫程序。
  作者通過他們在美國斯坦福大學(xué)的專業(yè)培訓(xùn)課程證明了本書學(xué)習(xí)方法的有效性,學(xué)生們在他們的第一堂課中就學(xué)習(xí)了如何編寫真實(shí)的應(yīng)用程序。
  無論您是一個渴望開始編寫第一個C++程序的新手,還是一個已經(jīng)使用C++多年并希望深入探討它的老手,兩位作者獨(dú)特的介紹方法和專業(yè)知識都讓本書成為您書架中不可或缺的學(xué)習(xí)參考書。

作者簡介

  Andrew Koenig和Barbara E.
Moo堪稱C++研究領(lǐng)域的“第一神仙眷侶”,他們不光有著多年的C++開發(fā)、研究和教學(xué)經(jīng)驗(yàn),而且親身參與了C++的演化和變革,是對C++的變化和發(fā)展起到重要影響的人。
  Andrew
Koenig,AT&T大規(guī)模程序研發(fā)部(前貝爾實(shí)驗(yàn)室)成員,同時(shí)也是C++標(biāo)準(zhǔn)委員會項(xiàng)目編輯。他有30多年編程經(jīng)驗(yàn),15年C++開發(fā)經(jīng)驗(yàn),已發(fā)表150多篇與C++有關(guān)的論文,應(yīng)邀在世界各地多次演講。曾編著C
Traps and Pitfalls一書,并與妻子合著Ruminations on C++。
Barbara E.
Moo,獨(dú)立咨詢顧問,在軟件領(lǐng)域從業(yè)20多年。在AT&T工作的近15年中,參與了第一個使用C++編寫商業(yè)產(chǎn)品的開發(fā)項(xiàng)目,負(fù)責(zé)管理公司第一個C++編譯器項(xiàng)目,并成功指導(dǎo)開發(fā)了AT&T中屢獲殊榮的WorldNet
Internet Service Business。曾參與編寫Ruminations on
C++一書,并在世界各地進(jìn)行過多次演講。

書籍目錄

第0章 開始
0.1 注釋
0.2 #include指令
0.3 主函數(shù)main
0.4 花括號
0.5 使用標(biāo)準(zhǔn)庫進(jìn)行輸出
0.6 返回語句
0.7 進(jìn)一步的深入
0.8 小結(jié)
練習(xí)
第1章 字符串的使用
1.1 輸入
1.2 將姓名裝框
1.3 小結(jié)
練習(xí)
第2章 循環(huán)與計(jì)數(shù)
2.1 問題
2.2 程序的整體結(jié)構(gòu)
2.3 輸出數(shù)目未知的行
2.3.1 while語句
2.3.2 設(shè)計(jì)while語句
2.4 輸出一行
2.4.1 輸出邊界字符
2.4.2 輸出非邊界字符
2.5 完整的框架程序
2.5.1 略去重復(fù)使用的std::
2.5.2 使用for語句縮短程序
2.5.3 壓縮檢測
2.5.4 完整的框架程序
2.6 計(jì)數(shù)
2.7 小結(jié)
練習(xí)
第3章 使用批量數(shù)據(jù)
3.1 計(jì)算學(xué)生成績
3.1.1 檢測輸入
3.1.2 循環(huán)不變式
3.2 用中值代替平均值
3.2.1 將數(shù)據(jù)集合存儲到向量中
3.2.2 產(chǎn)生輸出
3.2.3 更加深入的觀察
3.3 小結(jié)
練習(xí)
第4章 組織程序和數(shù)據(jù)
4.1 組織計(jì)算
4.1.1 查找中值
4.1.2 重新制定計(jì)算成績的策略
4.1.3 讀家庭作業(yè)成績
4.1.4 三種函數(shù)參數(shù)
4.1.5 使用函數(shù)來計(jì)算學(xué)生的成績
4.2 組織數(shù)據(jù)
4.2.1 將一個學(xué)生的所有數(shù)據(jù)放置在一起
4.2.2 處理學(xué)生記錄
4.2.3 生成報(bào)表
4.3 將各部分代碼連接到一起
4.4 將計(jì)算成績的程序分塊
4.5 修正后的計(jì)算成績程序
4.6 小結(jié)
練習(xí)
第5章 使用順序容器和分析字符串
5.1 將學(xué)生進(jìn)行分類
5.1.1 就地刪除元素
5.1.2 順序存取和隨機(jī)存取
5.2 迭代器
5.2.1 迭代器的類型
5.2.2 迭代器的操作
5.2.3 一些語法知識
5.2.4 students.erase(students.begin()+i)的含義
5.3 用迭代器代替索引
5.4 重新思考數(shù)據(jù)結(jié)構(gòu)以實(shí)現(xiàn)更好的性能
5.5 list類型
5.5.1 一些重要的差別
5.5.2 一個惱人的話題
5.6 分割字符串
5.7 測試split函數(shù)
5.8 連接字符串
5.8.1 將圖案裝框
5.8.2 縱向連接
5.8.3 橫向連接
5.9 小結(jié)
練習(xí)
第6章 使用庫算法
6.1 分析字符串
6.1.1 實(shí)現(xiàn)split的另一種方法
6.1.2 回文
6.1.3 查找URL
6.2 比較計(jì)算成績的方案
6.2.1 處理學(xué)生記錄
6.2.2 分析成績
6.2.3 計(jì)算基于家庭作業(yè)平均成績的總成績
6.2.4 上交的家庭作業(yè)的中值
6.3 對學(xué)生進(jìn)行分類并回顧我們的問題
6.3.1 一種兩次傳遞的解決方案
6.3.2 一種一次傳遞的解決方案
6.4 算法、容器以及迭代器
6.5 小結(jié)
練習(xí)
第7章 使用關(guān)聯(lián)容器
7.1 支持高效查找的容器
7.2 計(jì)算單詞數(shù)量
7.3 生成交叉引用表
7.4 生成語句
7.4.1 呈現(xiàn)規(guī)則
7.4.2 讀入文法
7.4.3 生成語句
7.4.4 選擇隨機(jī)元素
7.5 關(guān)于性能的一些說明
7.6 小結(jié)
練習(xí)
第8章 編寫泛型函數(shù)
8.1 什么是泛型函數(shù)
8.1.1 未知類型的中值
8.1.2 模板實(shí)例化
8.1.3 泛型函數(shù)和類型
8.2 數(shù)據(jù)結(jié)構(gòu)獨(dú)立性
8.2.1 算法與迭代器
8.2.2 順序只讀訪問
8.2.3 順序只寫訪問
8.2.4 順序讀-寫訪問
8.2.5 可逆訪問
8.2.6 隨機(jī)訪問
8.2.7 迭代器區(qū)間和越界值
8.3 輸入和輸出迭代器
8.4 使用迭代器提高適應(yīng)性
8.5 小結(jié)
練習(xí)
第9章 定義新類型
9.1 Student_info回顧
9.2 自定義類型
9.2.1 成員函數(shù)
9.2.2 非成員函數(shù)
9.3 保護(hù)
9.3.1 存取器函數(shù)
9.3.2 檢查對象是否為空
9.4 Student_info類
9.5 構(gòu)造函數(shù)
9.5.1 默認(rèn)構(gòu)造函數(shù)
9.5.2 帶參數(shù)的構(gòu)造函數(shù)
9.6 使用Student_info類
9.7 小結(jié)
練習(xí)
第10章 管理內(nèi)存與低級數(shù)據(jù)結(jié)構(gòu)
10.1 指針與數(shù)組
10.1.1 指針
10.1.2 指向函數(shù)的指針
10.1.3 數(shù)組
10.1.4 指針?biāo)惴?br />10.1.5 索引
10.1.6 數(shù)組初始化
10.2 字符串字面量回顧
10.3 初始化字符串指針數(shù)組
10.4 main函數(shù)的參數(shù)
10.5 文件讀寫
10.5.1 標(biāo)準(zhǔn)錯誤流
10.5.2 處理多個輸入/輸出文件
10.6 內(nèi)存管理的三種方法
10.6.1 為對象分配/釋放內(nèi)存
10.6.2 為數(shù)組分配/釋放內(nèi)存
10.7 小結(jié)
練習(xí)
第11章 定義抽象數(shù)據(jù)類型
11.1 Vec類
11.2 實(shí)現(xiàn)Vec類
11.2.1 內(nèi)存分配
11.2.2 構(gòu)造函數(shù)
11.2.3 類型定義
11.2.4 索引與大小
11.2.5 返回迭代器的操作
11.3 復(fù)制控制
11.3.1 復(fù)制構(gòu)造函數(shù)
11.3.2 賦值運(yùn)算符
11.3.3 賦值不是初始化
11.3.4 析構(gòu)函數(shù)
11.3.5 默認(rèn)操作
11.3.6 三位一體規(guī)則
11.4 動態(tài)的Vec類型對象
11.5 靈活的內(nèi)存管理
11.6 小結(jié)
練習(xí)
第12章 使類對象獲得數(shù)值功能
12.1 一個簡單的string類
12.2 自動轉(zhuǎn)換
12.3 Str操作
12.3.1 輸入和輸出運(yùn)算符
12.3.2 友元函數(shù)
12.3.3 其他二元運(yùn)算符
12.3.4 混合類型表達(dá)式
12.3.5 設(shè)計(jì)二元運(yùn)算符
12.4 有些轉(zhuǎn)換是危險(xiǎn)的
12.5 類型轉(zhuǎn)換操作函數(shù)
12.6 類型轉(zhuǎn)換與內(nèi)存管理
12.7 小結(jié)
練習(xí)
第13章 繼承與動態(tài)綁定的使用
13.1 繼承
13.1.1 回顧保護(hù)類型
13.1.2 操作函數(shù)
13.1.3 繼承與構(gòu)造函數(shù)
13.2 多態(tài)與虛擬函數(shù)
13.2.1 在不確定對象類型時(shí)獲得對象的值
13.2.2 動態(tài)綁定
13.2.3 簡單回顧
13.3 使用繼承解決問題
13.3.1 實(shí)際類型待定的容器
13.3.2 虛擬析構(gòu)函數(shù)
13.4 一個簡單的句柄類
13.4.1 讀取句柄
13.4.2 復(fù)制句柄對象
13.5 使用句柄類
13.6 微妙之處
13.6.1 繼承與容器
13.6.2 需要哪個函數(shù)
13.7 小結(jié)
練習(xí)
第14章 近乎自動地管理內(nèi)存
14.1 用于復(fù)制對象的句柄
14.1.1 通用句柄類
14.1.2 使用通用句柄
14.2 引用計(jì)數(shù)句柄
14.3 可以讓您決定何時(shí)共享數(shù)據(jù)的句柄
14.4 可控句柄的一個改進(jìn)
14.4.1 復(fù)制我們無法控制的類型
14.4.2 復(fù)制在何時(shí)才是必要的
14.5 小結(jié)
練習(xí)
第15章 再探字符圖形
15.1 設(shè)計(jì)
15.1.1 使用繼承來模擬結(jié)構(gòu)
15.1.2 Pic_base類
15.1.3 派生類
15.1.4 復(fù)制控制
15.2 實(shí)現(xiàn)
15.2.1 實(shí)現(xiàn)用戶接口
15.2.2 String_Pic類
15.2.3 補(bǔ)齊輸出結(jié)果
15.2.4 VCat_Pic類
15.2.5 HCat_Pic類
15.2.6 Frame_Pic類
15.2.7 不要忘記友元類聲明
15.3 小結(jié)
練習(xí)
第16章 學(xué)習(xí)C++的后續(xù)方法
16.1 利用已經(jīng)掌握的知識
16.2 學(xué)習(xí)更多的知識
練習(xí)
附錄A C++語法細(xì)節(jié)
A.1 聲明
A.1.1 指定說明
A.1.2 聲明符
A.2 類型
A.2.1 整數(shù)類型
A.2.2 浮點(diǎn)類型
A.2.3 常量表達(dá)式
A.2.4 類型轉(zhuǎn)換
A.2.5 枚舉類型
A.2.6 重載
A.3 表達(dá)式
A.4 語句
附錄B 標(biāo)準(zhǔn)庫一覽
B.1 輸入-輸出
B.2 容器和迭代器
B.2.1 共有的容器操作
B.2.2 順序容器的操作
B.2.3 其他順序操作
B.2.4 關(guān)聯(lián)容器的操作
B.2.5 迭代器(iterator)
B.2.6 向量(vector)
B.2.7 鏈表(list)
B.2.8 字符串(string)
B.2.9 對(pair)
B.2.10 圖(map)
B.3 算法

章節(jié)摘錄

版權(quán)頁:   插圖:   當(dāng)我們說一個特定類型是一個迭代器時(shí),實(shí)際上,我們是指關(guān)于這種類型所支持操作的性質(zhì);只有一種類型以某種特定的方式支持特定的操作集時(shí),這個類型才會是一個迭代器。如果我們想要編寫自己的find函數(shù),那么從某種程度上說,我們將僅依賴于所有的迭代器都必須支持的操作。如果想要編寫自己的容器——就像我們將在第11章中所做的一樣——則必須提供支持了所有適當(dāng)?shù)牟僮鞯牡鳌?迭代器的概念并不是C++語言特有的一部分。但它是標(biāo)準(zhǔn)庫組織的一個基本的組成部分,而且就是這一部分使得泛型函數(shù)跟這些概念一樣有用。在這一章中,我們將出示一些示例來讓您了解庫是如何實(shí)現(xiàn)泛型函數(shù)的。沿著這個思路,我們解釋了究竟什么是迭代器——或者更準(zhǔn)確地講,迭代器是什么,之所以這樣說,是因?yàn)榈骺梢苑譃槲鍌€種類。 這一章比我們以前學(xué)習(xí)的所有章節(jié)更為抽象,這是由于本章中的泛型函數(shù)恰好具有抽象的性質(zhì)。如果我們所編寫的函數(shù)是用于解決特定問題的,那么這些函數(shù)將不會是泛型函數(shù)。但是您很快就會發(fā)現(xiàn),我們所描述的大多數(shù)函數(shù)都是您非常熟悉的,這是因?yàn)槲覀円呀?jīng)在前面的示例中使用過它們了。此外,即使對于并不熟悉的函數(shù),它們的使用方法也并不難想象。 8.1.1 未知類型的中值 實(shí)現(xiàn)泛型函數(shù)的語言特征被稱作模板函數(shù)。模板允許我們?yōu)橐粋€行為特性相似的函數(shù)族(或類型族)編寫一個單獨(dú)的定義,我們將族中各個函數(shù)(或類型)之間的差別歸因于它們的模板參數(shù)的類型不同。本章中,我們將討論模板函數(shù),在本書第11章中,我們將探討模板類。 隱藏于模板之后的關(guān)鍵概念是,不同類型的對象仍然可以享有共同的行為特性。模板參數(shù)允許我們按照共同的行為特性編寫程序——即使在定義模板時(shí)我們并不知道與模板參數(shù)相對應(yīng)的特定的類型。在使用一個模板時(shí),我們確實(shí)是知道這些類型的,而在我們編譯以及連接程序時(shí),這個認(rèn)識非常有用。對于泛型參數(shù),系統(tǒng)環(huán)境無需考慮對那些在運(yùn)行期間類型會起變化的對象做什么樣的處理動作——只需要在編譯期間考慮這個問題。 雖然模板是標(biāo)準(zhǔn)庫的基礎(chǔ),但是我們還是可以將其用于我們自己的程序中。例如,在4.1.1節(jié)中,我們編寫了一個函數(shù)以用于計(jì)算一個vector類型的向量的中值,這個函數(shù)依賴于對向量進(jìn)行排序的能力,然后它就可以用一個指定的索引獲取特定的元素。在這種情況下,如果我們想用這個函數(shù)處理任意序列的數(shù)值,可能比較費(fèi)時(shí)費(fèi)力。即便是這樣,我們也沒有理由將這個函數(shù)限制為vector類型;我們也可以取其他類型的向量的中值。模板函數(shù)允許我們執(zhí)行。

媒體關(guān)注與評論

  本書是一流的C++入門圖書,它使用理論與實(shí)踐相結(jié)合的方式來解決C++中的各種問題。與我們所見過的其他C++入門書相比,本書以令人驚嘆的緊湊風(fēng)格涵蓋了C++編程的更多領(lǐng)域?!  狣ag Bruck,ANSI/ISO C++委員會的創(chuàng)始成員    通過讓學(xué)生盡快地編寫具有實(shí)際意義的程序,作者向我們展示了一種清晰且令人信服的C++教學(xué)模式。  ——Stephen Clamage,Sun Microsystems公司,ANSI C++委員會主席    所有學(xué)習(xí)該書并完成其中示例和習(xí)題的人都將獲得與眾多專業(yè)C++程序員一樣的技能?!  狫effrey D. Oldham,斯坦福大學(xué)

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Accelerated C++中文版通過示例進(jìn)行編程實(shí)踐 PDF格式下載


用戶評論 (總計(jì)45條)

 
 

  •   C++委員會的兩人給初學(xué)者寫的書,不適合剛接觸C++的看,因?yàn)樵肀容^復(fù)雜,講得比較深,但還是本入門的書。
  •   很好的書,挺有用的。
  •   C++的經(jīng)典教材
  •   針對前兩版紅色封面的,這個更適合。
  •   從基礎(chǔ)開始學(xué),這本書很不錯
  •   經(jīng)典之作。比大部頭cpp教程好。
  •   好書!支持當(dāng)當(dāng)!確實(shí)是本c++經(jīng)典。開卷有益!
  •   很實(shí)用的書,還有就是不用去書店買了,省時(shí)方便。
  •   具體事例教學(xué),詳略得當(dāng)
  •   學(xué)校要求的教材,很好,完全一樣。
  •   不錯,挺有幫助的。同學(xué)也說不錯。
  •   確認(rèn)晚了,不錯,正是上課要用的
  •   不錯,正是上課要用的
  •   看了一部分,覺得很不錯,有些內(nèi)涵!
  •   請大家都看看這本書吧,真心挺不錯的
  •   看書上說的是國外大學(xué)的教材,不知道怎么樣,先看看再說
  •   感覺這本書挺基礎(chǔ)的,有點(diǎn)簡略
  •   書很好,但是有不少印刷錯誤
  •   還不錯 有些內(nèi)容還不是很理解 總體不錯
  •   整體不錯,嘻嘻
  •   看網(wǎng)上某個大牛的博客推薦的書籍,就買來看看。對原版書籍不做評價(jià),我只是個新手,不敢妄加評論。這里只想就這個翻譯版本說一下感受:閱讀體驗(yàn)不好。首先就是翻譯中的一些小錯誤,不過這個也是可以理解的,但在代碼方面就太不講究了,不僅代碼格式混亂,影響閱讀,而且還有不少錯誤,已經(jīng)影響到理解內(nèi)容了,看的時(shí)候感覺怎么都說不通,然后就去翻英文版,發(fā)現(xiàn)翻譯錯了,而且后面還有不少這種錯誤。現(xiàn)在只好中英對照著看...我想說,像這種經(jīng)典,不要翻譯的這么隨便好嗎?
  •   用簡介生動的方式學(xué)習(xí)C++的核心內(nèi)容,還不錯,不過排版不是很喜歡
  •   正是我需要的書,不過印刷排版難看,一會兒多個空格一會兒少個空格,影響理解代碼
  •   錯誤太多了,出版社責(zé)任心太差了
  •   無疑這本書的原著是非常好的,很多老手都推薦,所以我也買來學(xué)習(xí),但是呢,翻譯質(zhì)量實(shí)在不敢恭維,偶爾錯幾個漢字就算了,但是居然代碼中有很多錯誤,比如標(biāo)點(diǎn),對于一個初學(xué)者來說你錯一個標(biāo)點(diǎn)我看起來有多費(fèi)勁你知道嗎?只能下另一版的pdf對照著看了。別說這是第一版來為它解釋些什么,校對是干什么的?反正不推薦這本書,這個出版社的這一版書,嗯,希望對大家有用
  •   因?yàn)轫?xiàng)目需要學(xué)習(xí)C++,這本是最容易上手的。里面講的東西很容易就用上了。
  •   C++入門的另一個切入角,通過實(shí)例很有說服力,而且對于一些沒必要知道的知識進(jìn)行刪減,非常實(shí)用,我很喜歡
  •   老師推薦的好書,里面主要是通過實(shí)例來講c++,強(qiáng)調(diào)實(shí)用性,對c++的學(xué)習(xí)與應(yīng)用能夠產(chǎn)生很大幫助,同時(shí)也去掉了其他細(xì)枝末節(jié)的不重要內(nèi)容。網(wǎng)絡(luò)上雖然有pdf版本可以下載,但是是影印版,目錄又做得不好,所以使用起來很不方便。推薦還是買實(shí)體書,雖然這版是舊版重印,但內(nèi)容應(yīng)當(dāng)不會有多少出入。
  •   我是習(xí)慣於找國外教材的,國內(nèi)的大家都懂。。。先說一下我的狀況:《C Primer Plus》看過前五章,也就是C祇是瞭解一下;在網(wǎng)上搜索哪本C++適合入門,搜了很久最終選了這一本,有些人說不適合,其實(shí)只要你稍微知道程序怎麼走這本書入門絕對最佳!
  •   代碼印刷有很大的問題,很多的錯誤
  •   書質(zhì)量很好,內(nèi)容看著很簡單
  •   可能不適合我的學(xué)習(xí)習(xí)慣吧,總覺得學(xué)起來不順手。
  •   書是昨天才拍的,很急著用哩,希望廠家盡快發(fā)貨,快遞給我哈。。。
  •   賣家發(fā)貨速度很快,東西包裝也很好,全新完美
  •   書的內(nèi)容質(zhì)量毋庸置疑,畢竟是相當(dāng)有名的書,翻譯也還行,紙張也ok
  •   應(yīng)該是不錯的!朋友很滿意!
  •   不錯的書,值得購買啊
  •   紙張感覺不太舒服,太亮了,還是老版的設(shè)計(jì)比較好
  •   Accelerated C++ 中文版
  •   到手察看了出版日期
  •   c++經(jīng)典!
  •   用示例來貫穿整本圖書
  •   出乎意料,真不錯
  •   某BBS的C++斑竹力薦
  •   的評價(jià)通過審核后可以獲得一
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7