C++程序設(shè)計語言

出版時間:2010-3  出版社:機械工業(yè)出版社  作者:斯特朗斯特魯普  頁數(shù):905  譯者:裘宗燕  
Tag標(biāo)簽:無  

前言

Bjarne Stroustrup的《The C++ Programming Language》是有關(guān)C++語言的第一部著作。毫無疑問,它是關(guān)于C++語言及其程序設(shè)計的最重要著作,在此領(lǐng)域中的地位是無可替代的?!禩he C++ Programming Language》一書伴隨著C++語言的發(fā)展演化而不斷進(jìn)步,經(jīng)過第1版(1985年)、第2版(1991年),第3版(1998年),本書的英文原書是《The C++ Programming Language》第3版經(jīng)過補充和修訂后的“特別版(2000)”(對應(yīng)于國內(nèi)引進(jìn)的影印本)。對于這個中譯本,我想說的第一句話就是“來得太晚了”。 要學(xué)習(xí)C++語言和程序設(shè)計,要將C++應(yīng)用于程序設(shè)計實踐,本書自然是必讀之書。這個“特別版”以標(biāo)準(zhǔn)化的C++語言為基礎(chǔ),討論了C++的各種語言特征和有效使用這一語言的程序設(shè)計技術(shù)。書中也用了大量的篇幅,在標(biāo)準(zhǔn)庫以及一般軟件開發(fā)的環(huán)境下,討論了使用C++語言編程和組織程序的許多高級技術(shù)。本書內(nèi)容覆蓋了C++語言及其程序設(shè)計的各個方面,其技術(shù)深度與廣度是舉世公認(rèn)的。 然而,作者討論的并不僅是C++語言及其程序設(shè)計。本書的討論遠(yuǎn)遠(yuǎn)超出這一范圍,第四部分用了大量的篇幅去討論軟件開發(fā)過程及其問題。即使是在介紹C++語言及其程序設(shè)計的具體問題時,作者也常在程序結(jié)構(gòu)、設(shè)計和軟件開發(fā)的大環(huán)境下,提出自己的許多認(rèn)識。作者有很強的計算機科學(xué)與技術(shù)基礎(chǔ),在系統(tǒng)軟件開發(fā)方面極富經(jīng)驗,他所提出的觀點和意見值得每個在這個領(lǐng)域中工作的人的重視。 當(dāng)然,重視并不是盲從。在Stroustrup的兩本關(guān)于C++的重要著作(本書和《C++語言的設(shè)計與演化》(已由機械工業(yè)出版社出版))中,都有這樣一句話使我印象深刻:希望讀者帶著一種健康的懷疑態(tài)度??磥磉@是作者深深銘刻在心的一種思想,也特別值得國內(nèi)每個從事信息技術(shù),或者努力向這個方向發(fā)展的人注意。從來就沒有什么救世主,Stroustrup不是在傳道,他只是在總結(jié)和論述自己在這個領(lǐng)域中工作的經(jīng)驗。請不要將本書中的東西作為教條,那也一定是本書作者所深惡痛絕的。 許多人說本書比較難讀,這種說法有一定道理。真正理解本書的一般性內(nèi)容需要花一些時間,融會貫通則更需要下功夫。理解本書的內(nèi)容不僅需要去讀它,還需要去實踐。問題是,花這個時間值嗎?作者在討論C++語言的設(shè)計時提出了一個觀點:你從C++語言中的收獲大致與在學(xué)習(xí)實踐這個語言的過程中所付出的努力成正比;而且C++是一個可以伴隨你成長的語言。同樣的話也適用于本書。如果你致力于將自己發(fā)展成一個職業(yè)的程序員,或者要在計算機方面的技術(shù)領(lǐng)域中長期工作下去,我認(rèn)為,你從本書中的收獲大致也會與你所花的時間成正比,這本書也是一本能夠伴隨你成長的書。

內(nèi)容概要

本書是在C++語言和程序設(shè)計領(lǐng)域具有深遠(yuǎn)影響、暢銷不衰的著作,由C++語言的設(shè)計者編寫,對C++語言進(jìn)行了最全面、最權(quán)威的論述,覆蓋標(biāo)準(zhǔn)C++以及由C++所支持的關(guān)鍵性編程技術(shù)和設(shè)計技術(shù)。本書英文原版一經(jīng)面世,即引起業(yè)內(nèi)人士的高度評價和熱烈歡迎,先后被翻譯成德、希、匈、西、荷、法、日、俄、中、韓等近20種語言,數(shù)以百萬計的程序員從中獲益,是無可取代的C++經(jīng)典力作。
 在本書英文原版面世10年后的今天,特別奉上十周年中文紀(jì)念版,希望眾多具有豐富實戰(zhàn)經(jīng)驗的C++開發(fā)人員能夠溫故而知新,印證學(xué)習(xí)心得,了解更加本質(zhì)的C++知識,讓獲得的理論應(yīng)用得更加靈活,也期望新的C++程序員從中認(rèn)識到這本書的價值所在,從更高的起點出發(fā),書寫更加精彩的程序設(shè)計人生。
作者簡介:Bjarne
Stroustrup,英國劍橋大學(xué)計算機科學(xué)博士,C++語言的設(shè)計者和最初的實現(xiàn)者,也是《C++程序設(shè)計原理與實踐》和《C++語言的設(shè)計和演化》的作者。他現(xiàn)在是德州農(nóng)工大學(xué)計算機科學(xué)首席教授,同時不審AT&T貝爾實驗室特別成員。1993年,由于在C++領(lǐng)域的重大貢獻(xiàn),他獲得了ACM的Grace
Murray
Hopper大獎并成為ACM院士;2008年,他又獲得了Dr.Dobb's雜志的程序設(shè)計杰出獎。在進(jìn)入學(xué)術(shù)界之前,他在AT&T貝爾實驗室工作。他是ISO
C++標(biāo)準(zhǔn)委員會的創(chuàng)始人之一。

書籍目錄

出版者的話
專家指導(dǎo)委員會
中文版序
譯者序

第2版序
第1版序
導(dǎo)論
 第1章 致讀者
  1.1 本書的結(jié)構(gòu)
   1.1.1 例子和參考
   1.1.2 練習(xí)
   1.1.3 有關(guān)實現(xiàn)的注記
  1.2 學(xué)習(xí)C++
  1.3 C++ 的設(shè)計
   1.3.1 效率和結(jié)構(gòu)
   1.3.2 哲學(xué)注記
  1.4 歷史注記
  1.5 C++ 的使用
  1.6 C和C++
   1.6.1 給C程序員的建議
   1.6.2 給C++程序員的建議
  1.7 有關(guān)在C++里編程的思考
  1.8 忠告
  1.9 參考文獻(xiàn)
 第2章 C++概覽
  2.1 為什么是C++
  2.2 程序設(shè)計范型
  2.3 過程式程序設(shè)計
   2.3.1 變量和算術(shù)
   2.3.2 檢測和循環(huán)
   2.3.3 指針和數(shù)組
  2.4 模塊程序設(shè)計
   2.4.1 分別編譯
   2.4.2 異常處理
  2.5 數(shù)據(jù)抽象
   2.5.1 定義類型的模塊
   2.5.2 用戶定義類型
   2.5.3 具體類型
   2.5.4 抽象類型
   2.5.5 虛函數(shù)
  2.6 面向?qū)ο蟮某绦蛟O(shè)計
   2.6.1 具體類型的問題
   2.6.2 類層次結(jié)構(gòu)
  2.7 通用型程序設(shè)計
   2.7.1 容器
   2.7.2 通用型算法
  2.8 附言
  2.9 忠告
 第3章 標(biāo)準(zhǔn)庫概覽
  3.1 引言
  3.2 Hello, world!
  3.3 標(biāo)準(zhǔn)庫名字空間
  3.4 輸出
  3.5 字符串
   3.5.1 C風(fēng)格的字符串
  3.6 輸入
  3.7 容器
   3.7.1 向量—vector
   3.7.2 范圍檢查
   3.7.3 表—list
   3.7.4 映射—map
   3.7.5 標(biāo)準(zhǔn)容器
  3.8 算法
   3.8.1 迭代器的使用
   3.8.2 迭代器類型
   3.8.3 迭代器和I/O
   3.8.4 遍歷和謂詞
   3.8.5 使用成員函數(shù)的算法
   3.8.6 標(biāo)準(zhǔn)庫算法
  3.9 數(shù)學(xué)
   3.9.1 復(fù)數(shù)
   3.9.2 向量算術(shù)
   3.9.3 基本數(shù)值支持
  3.10 標(biāo)準(zhǔn)庫功能
  3.11 忠告
第一部分 基本功能
 第4章 類型和聲明
  4.1 類型
   4.1.1 基本類型
  4.2 布爾量
  4.3 字符類型
   4.3.1 字符文字量
  4.4 整數(shù)類型
   4.4.1 整數(shù)文字量
  4.5 浮點類型
   4.5.1 浮點文字量
  4.6 大小
  4.7 void
  4.8 枚舉
  4.9 聲明
   4.9.1 聲明的結(jié)構(gòu)
   4.9.2 聲明多個名字
   4.9.3 名字
   4.9.4 作用域
   4.9.5 初始化
   4.9.6 對象和左值
   4.9.7 typedef
  4.10 忠告
  4.11 練習(xí)
 第5章 指針、數(shù)組和結(jié)構(gòu)
  5.1 指針
   5.1.1 零
  5.2 數(shù)組
   5.2.1 數(shù)組初始化
   5.2.2 字符串文字量
  5.3 到數(shù)組的指針
   5.3.1 在數(shù)組里漫游
  5.4 常量
   5.4.1 指針和常量
  5.5 引用
  5.6 指向void的指針
  5.7 結(jié)構(gòu)
   5.7.1 類型等價
  5.8 忠告
  5.9 練習(xí)
 第6章 表達(dá)式和語句
  6.1 一個桌面計算器
   6.1.1 分析器
   6.1.2 輸入函數(shù)
   6.1.3 低級輸入
   6.1.4 錯誤處理
   6.1.5 驅(qū)動程序
   6.1.6 頭文件
   6.1.7 命令行參數(shù)
   6.1.8 有關(guān)風(fēng)格的注記
  6.2 運算符概覽
   6.2.1 結(jié)果
   6.2.2 求值順序
   6.2.3 運算符優(yōu)先級
   6.2.4 按位邏輯運算符
   6.2.5 增量和減量
   6.2.6 自由存儲
   6.2.7 顯式類型轉(zhuǎn)換
   6.2.8 構(gòu)造函數(shù)
  6.3 語句概覽
   6.3.1 聲明作為語句
   6.3.2 選擇語句
   6.3.3 迭代語句
   6.3.4 goto
  6.4 注釋和縮進(jìn)編排
  6.5 忠告
  6.6 練習(xí)
 第7章 函數(shù)
  7.1 函數(shù)聲明
   7.1.1 函數(shù)定義
   7.1.2 靜態(tài)變量
  7.2 參數(shù)傳遞
   7.2.1 數(shù)組參數(shù)
  7.3 返回值
  7.4 重載函數(shù)名
   7.4.1 重載和返回類型
   7.4.2 重載與作用域
   7.4.3 手工的歧義性解析
   7.4.4 多參數(shù)的解析
  7.5 默認(rèn)參數(shù)
  7.6 未確定數(shù)目的參數(shù)
  7.7 指向函數(shù)的指針
  7.8 宏
   7.8.1 條件編譯
  7.9 忠告
  7.10 練習(xí)
 第8章 名字空間和異常
  8.1 模塊化和界面
  8.2 名字空間
   8.2.1 帶限定詞的名字
   8.2.2 使用聲明
   8.2.3 使用指令
   8.2.4 多重界面
   8.2.5 避免名字沖突
   8.2.6 名字查找
   8.2.7 名字空間別名
   8.2.8 名字空間組合
   8.2.9 名字空間和老代碼
  8.3 異常
   8.3.1 拋出和捕捉
   8.3.2 異常的辨識
   8.3.3 在計算器中的異常
  8.4 忠告
  8.5 練習(xí)
 第9章 源文件和程序
  9.1 分別編譯
  9.2 連接
   9.2.1 頭文件
   9.2.2 標(biāo)準(zhǔn)庫頭文件
   9.2.3 單一定義規(guī)則
   9.2.4 與非C++代碼的連接
   9.2.5 連接與指向函數(shù)的指針
  9.3 使用頭文件
   9.3.1 單一頭文件
   9.3.2 多個頭文件
   9.3.3 包含保護符
  9.4 程序
   9.4.1 非局部變量的初始化
  9.5 忠告
  9.6 練習(xí)
第二部分 抽象機制
 第10章 類
  10.1 引言
  10.2 類
   10.2.1 成員函數(shù)
   10.2.2 訪問控制
   10.2.3 構(gòu)造函數(shù)
   10.2.4 靜態(tài)成員
   10.2.5 類對象的復(fù)制
   10.2.6 常量成員函數(shù)
   10.2.7 自引用
   10.2.8 結(jié)構(gòu)和類
   10.2.9 在類內(nèi)部的函數(shù)定義
  10.3 高效的用戶定義類型
   10.3.1 成員函數(shù)
   10.3.2 協(xié)助函數(shù)
   10.3.3 重載的運算符
   10.3.4 具體類型的意義
  10.4 對象
   10.4.1 析構(gòu)函數(shù)
   10.4.2 默認(rèn)構(gòu)造函數(shù)
   10.4.3 構(gòu)造和析構(gòu)
   10.4.4 局部變量
   10.4.5 自由存儲
   10.4.6 類對象作為成員
   10.4.7 數(shù)組
   10.4.8 局部靜態(tài)存儲
   10.4.9 非局部存儲
   10.4.10 臨時對象
   10.4.11 對象的放置
   10.4.12 聯(lián)合
  10.5 忠告
  10.6 練習(xí)
 第11章 運算符重載
  11.1 引言
  11.2 運算符函數(shù)
   11.2.1 二元和一元運算符
   11.2.2 運算符的預(yù)定義意義
   11.2.3 運算符和用戶定義類型
   11.2.4 名字空間里的運算符
  11.3 一個復(fù)數(shù)類型
   11.3.1 成員運算符和非成員運算符
   11.3.2 混合模式算術(shù)
   11.3.3 初始化
   11.3.4 復(fù)制
   11.3.5 構(gòu)造函數(shù)和轉(zhuǎn)換
   11.3.6 文字量
   11.3.7 另一些成員函數(shù)
   11.3.8 協(xié)助函數(shù)
  11.4 轉(zhuǎn)換運算符
   11.4.1 歧義性
  11.5 友元
   11.5.1 友元的尋找
   11.5.2 友元和成員
  11.6 大型對象
  11.7 基本運算符
   11.7.1 顯式構(gòu)造函數(shù)
  11.8 下標(biāo)
  11.9 函數(shù)調(diào)用
  11.10 間接
  11.11 增量和減量
  11.12 一個字符串類
  11.13 忠告
  11.14 練習(xí)
 第12章 派生類
  12.1 引言
  12.2 派生類
   12.2.1 成員函數(shù)
   12.2.2 構(gòu)造函數(shù)和析構(gòu)函數(shù)
   12.2.3 復(fù)制
   12.2.4 類層次結(jié)構(gòu)
   12.2.5 類型域
   12.2.6 虛函數(shù)
  12.3 抽象類
  12.4 類層次結(jié)構(gòu)的設(shè)計
   12.4.1 一個傳統(tǒng)的層次結(jié)構(gòu)
   12.4.2 抽象類
   12.4.3 其他實現(xiàn)方式
   12.4.4 對象創(chuàng)建的局部化
  12.5 類層次結(jié)構(gòu)和抽象類
  12.6 忠告
  12.7 練習(xí)
 第13章 模板
  13.1 引言
  13.2 一個簡單的String模板
   13.2.1 定義一個模板
   13.2.2 模板實例化
   13.2.3 模板參數(shù)
   13.2.4 類型等價
   13.2.5 類型檢查
  13.3 函數(shù)模板
   13.3.1 函數(shù)模板的參數(shù)
   13.3.2 函數(shù)模板的重載
  13.4 用模板參數(shù)描述策略
   13.4.1 默認(rèn)模板參數(shù)
  13.5 專門化
   13.5.1 專門化的順序
   13.5.2 模板函數(shù)的專門化
  13.6 派生和模板
   13.6.1 參數(shù)化和繼承
   13.6.2 成員模板
   13.6.3 繼承關(guān)系
  13.7 源代碼組織
  13.8 忠告
  13.9 練習(xí)
 第14章 異常處理
  14.1 錯誤處理
   14.1.1 關(guān)于異常的其他觀點
  14.2 異常的結(jié)組
   14.2.1 派生的異常
   14.2.2 多個異常的組合
  14.3 捕捉異常
   14.3.1 重新拋出
   14.3.2 捕捉所有異常
  14.4 資源管理
   14.4.1 構(gòu)造函數(shù)和析構(gòu)函數(shù)的使用
   14.4.2 auto_ptr
   14.4.3 告誡
   14.4.4 異常和new
   14.4.5 資源耗盡
   14.4.6 構(gòu)造函數(shù)里的異常
   14.4.7 析構(gòu)函數(shù)里的異常
  14.5 不是錯誤的異常
  14.6 異常的描述
   14.6.1 對異常描述的檢查
   14.6.2 未預(yù)期的異常
   14.6.3 異常的映射
  14.7 未捕捉的異常
  14.8 異常和效率
  14.9 處理錯誤的其他方式
  14.10 標(biāo)準(zhǔn)異常
  14.11 忠告
  14.12 練習(xí)
 第15章 類層次結(jié)構(gòu)
  15.1 引言和概述
  15.2 多重繼承
   15.2.1 歧義性解析
   15.2.2 繼承和使用聲明
   15.2.3 重復(fù)的基類
   15.2.4 虛基類
   15.2.5 使用多重繼承
  15.3 訪問控制
   15.3.1 保護成員
   15.3.2 對基類的訪問
  15.4 運行時類型信息
   15.4.1 dynamic_cast
   15.4.2 在類層次結(jié)構(gòu)中漫游
   15.4.3 類對象的構(gòu)造與析構(gòu)
   15.4.4 typeid和擴展的類型信息
   15.4.5 RTTI的使用和誤用
  15.5 指向成員的指針
   15.5.1 基類和派生類
  15.6 自由存儲
   15.6.1 數(shù)組分配
   15.6.2 虛構(gòu)造函數(shù)
  15.7 忠告
  15.8 練習(xí)
第三部分 標(biāo) 準(zhǔn) 庫
 第16章 庫組織和容器
  16.1 標(biāo)準(zhǔn)庫的設(shè)計
   16.1.1 設(shè)計約束
   16.1.2 標(biāo)準(zhǔn)庫組織
   16.1.3 語言支持
  16.2 容器設(shè)計
   16.2.1 專門化的容器和迭代器
   16.2.2 有基類的容器
   16.2.3 STL容器
  16.3 向量
   16.3.1 類型
   16.3.2 迭代器
   16.3.3 元素訪問
   16.3.4 構(gòu)造函數(shù)
   16.3.5 堆棧操作
   16.3.6 表操作
   16.3.7 元素定位
   16.3.8 大小和容量
   16.3.9 其他成員函數(shù)
   16.3.10 協(xié)助函數(shù)
   16.3.11 vector[bool]
  16.4 忠告
  16.5 練習(xí)
 第17章 標(biāo)準(zhǔn)容器
  17.1 標(biāo)準(zhǔn)容器
   17.1.1 操作綜述
   17.1.2 容器綜述
   17.1.3 表示
   17.1.4 對元素的要求
  17.2 序列
   17.2.1 向量—vector
   17.2.2 表—list
   17.2.3 雙端隊列—deque
  17.3 序列適配器 1
   17.3.1 堆?!猻tack 1
   17.3.2 隊列—queue
   17.3.3 優(yōu)先隊列—priority_queue
  17.4 關(guān)聯(lián)容器
   17.4.1 映射—map
   17.4.2 多重映射—multimap
   17.4.3 集合—set
   17.4.4 多重集合—multiset
  17.5 擬容器
   17.5.1 串—string
   17.5.2 值向量—valarray
   17.5.3 位集合—bitset
   17.5.4 內(nèi)部數(shù)組
  17.6 定義新容器
   17.6.1 散列映射—hash_map
   17.6.2 表示和構(gòu)造
   17.6.3 其他散列關(guān)聯(lián)容器
  17.7 忠告
  17.8 練習(xí)
 第18章 算法和函數(shù)對象
  18.1 引言
  18.2 標(biāo)準(zhǔn)庫算法綜述
  18.3 序列和容器
   18.3.1 輸入序列
  18.4 函數(shù)對象
   18.4.1 函數(shù)對象的基類
   18.4.2 謂詞
   18.4.3 算術(shù)函數(shù)對象
   18.4.4 約束器、適配器和否定器
  18.5 非修改性序列算法
   18.5.1 對每個做—for_each
   18.5.2 查找族函數(shù)
   18.5.3 計數(shù)
   18.5.4 相等和不匹配
   18.5.5 搜索
  18.6 修改性序列算法
   18.6.1 復(fù)制
   18.6.2 變換
   18.6.3 惟一化
   18.6.4 取代
   18.6.5 刪除
   18.6.6 填充和生成
   18.6.7 反轉(zhuǎn)和旋轉(zhuǎn)
   18.6.8 交換
  18.7 排序的序列
   18.7.1 排序
   18.7.2 二分檢索
   18.7.3 歸并
   18.7.4 劃分
   18.7.5 序列上的集合運算
  18.8 堆
  18.9 最小和最大
  18.10 排列
  18.11 C風(fēng)格算法
  18.12 忠告
  18.13 練習(xí)
 第19章 迭代器和分配器
  19.1 引言
  19.2 迭代器和序列
   19.2.1 迭代器的操作
   19.2.2 迭代器特征類—iterator_traits
   19.2.3 迭代器類別
   19.2.4 插入器
   19.2.5 反向迭代器
   19.2.6 流迭代器
  19.3 帶檢查迭代器
   19.3.1 異常、容器和算法
  19.4 分配器
   19.4.1 標(biāo)準(zhǔn)分配器
   19.4.2 一個用戶定義分配器
   19.4.3 廣義的分配器
   19.4.4 未初始化的存儲
   19.4.5 動態(tài)存儲
   19.4.6 C風(fēng)格的分配
  19.5 忠告
  19.6 練習(xí)
 第20章 串
  20.1 引言
  20.2 字符
   20.2.1 字符特征類—char_traits
  20.3 基礎(chǔ)串類—basic_string
   20.3.1 類型
   20.3.2 迭代器
   20.3.3 元素訪問
   20.3.4 構(gòu)造函數(shù)
   20.3.5 錯誤
   20.3.6 賦值
   20.3.7 到C風(fēng)格字符串的轉(zhuǎn)換
   20.3.8 比較
   20.3.9 插入
   20.3.10 拼接
   20.3.11 查找
   20.3.12 替換
   20.3.13 子串
   20.3.14 大小和容量
   20.3.15 I/O操作
   20.3.16 交換
  20.4 C標(biāo)準(zhǔn)庫
   20.4.1 C風(fēng)格字符串
   20.4.2 字符分類
  20.5 忠告
  20.6 練習(xí)
 第21章 流
  21.1 引言
  21.2 輸出
   21.2.1 輸出流
   21.2.2 內(nèi)部類型的輸出
   21.2.3 用戶定義類型的輸出
  21.3 輸入
   21.3.1 輸入流
   21.3.2 內(nèi)部類型的輸入
   21.3.3 流狀態(tài)
   21.3.4 字符的輸入
   21.3.5 用戶定義類型的輸入
   21.3.6 異常
   21.3.7 流的聯(lián)結(jié)
   21.3.8 哨位
  21.4 格式化
   21.4.1 格式狀態(tài)
   21.4.2 整數(shù)輸出
   21.4.3 浮點數(shù)輸出
   21.4.4 輸出域
   21.4.5 域的調(diào)整
   21.4.6 操控符
  21.5 文件流與字符串流
   21.5.1 文件流
   21.5.2 流的關(guān)閉
   21.5.3 字符串流
  21.6 緩沖
   21.6.1 輸出流和緩沖區(qū)
   21.6.2 輸入流和緩沖區(qū)
   21.6.3 流和緩沖區(qū)
   21.6.4 流緩沖區(qū)
  21.7 現(xiàn)場
   21.7.1 流回調(diào)
  21.8 C輸入/輸出
  21.9 忠告
  21.10 練習(xí)
 第22章 數(shù)值
  22.1 引言
  22.2 數(shù)值的限制
   22.2.1 表示限制的宏
  22.3 標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)
  22.4 向量算術(shù)
   22.4.1 valarray的構(gòu)造
   22.4.2 valarray的下標(biāo)和賦值
   22.4.3 成員操作
   22.4.4 非成員函數(shù)
   22.4.5 切割
   22.4.6 切割數(shù)組—slice_array
   22.4.7 臨時量、復(fù)制和循環(huán)
   22.4.8 廣義切割
   22.4.9 屏蔽
   22.4.10 間接數(shù)組—indirect_array
  22.5 復(fù)數(shù)算術(shù)
  22.6 通用數(shù)值算法
   22.6.1 累積—accumulate
   22.6.2 內(nèi)積—inner_product
   22.6.3 增量變化
  22.7 隨機數(shù)
  22.8 忠告
  22.9 練習(xí)
第四部分 用C++ 做設(shè)計
 第23章 開發(fā)和設(shè)計
  23.1 概述
  23.2 引言
  23.3 目的與手段
  23.4 開發(fā)過程
   23.4.1 開發(fā)循環(huán)
   23.4.2 設(shè)計目標(biāo)
   23.4.3 設(shè)計步驟
   23.4.4 試驗和分析
   23.4.5 測試
   23.4.6 軟件維護
   23.4.7 效率
  23.5 管理
   23.5.1 重用
   23.5.2 規(guī)模
   23.5.3 個人
   23.5.4 混成設(shè)計
  23.6 帶標(biāo)注的參考文獻(xiàn)
  23.7 忠告
 第24章 設(shè)計和編程
  24.1 概述
  24.2 設(shè)計和程序設(shè)計語言
   24.2.1 忽視類
   24.2.2 忽視繼承    
   24.2.3 忽視靜態(tài)類型檢查
   24.2.4 忽視程序設(shè)計
   24.2.5 排他性地使用類層次結(jié)構(gòu)
  24.3 類
   24.3.1 類表示什么
   24.3.2 類層次結(jié)構(gòu)
   24.3.3 包容關(guān)系
   24.3.4 包容和繼承
   24.3.5 使用關(guān)系
   24.3.6 編入程序里的關(guān)系
   24.3.7 類內(nèi)的關(guān)系
  24.4 組件
   24.4.1 模板
   24.4.2 界面和實現(xiàn)
   24.4.3 肥大的界面
  24.5 忠告
 第25章 類的作用
  25.1 類的種類
  25.2 具體類型
   25.2.1 具體類型的重用
  25.3 抽象類型
  25.4 結(jié)點
   25.4.1 修改界面
  25.5 動作
  25.6 界面類
   25.6.1 調(diào)整界面
  25.7 句柄類
   25.7.1 句柄上的操作
  25.8 應(yīng)用框架
  25.9 忠告
  25.10 練習(xí)
附錄和索引
 附錄A 語法
 附錄B 兼容性
 附錄C 技術(shù)細(xì)節(jié)
 附錄D 現(xiàn)場
 附錄E 標(biāo)準(zhǔn)庫的異常時安全性
 索引

章節(jié)摘錄

插圖:c++基本類型的某些方面是由實現(xiàn)確定的,例如int的大?。–.2節(jié))。我總要指出這種依賴性,并常常提出應(yīng)該避免它們,或者通過某些方式盡可能減小其影響的建議。為什么需要為這些東西操心呢?在各種各樣的系統(tǒng)中或使用多種編譯器去編程序的人們很注意這些事情,因為如果他們不這樣做,那他們就會被迫去花時間尋找和糾正很隱蔽的錯誤。那些自稱不關(guān)心移植性的人也確實常常像自己所說的那樣去做,因為他們只使用一種系統(tǒng),并認(rèn)為自己能承擔(dān)起如下看法:“這個語言不過就是我的編譯器所實現(xiàn)的那種東西”。但是,這實際上是一種狹隘和短視的觀點。如果你的程序是成功的,那么它就很可能需要移植,而這時某些人就必須去尋找并糾正那些依賴于實現(xiàn)的特征了。此外,程序經(jīng)常需要為了同一個系統(tǒng)而用其他編譯器來編譯,甚至你最喜愛的編譯器的未來版本在做某些事情時,也可能采用與目前的版本不同的方式。在寫程序時,理解程序?qū)崿F(xiàn)的依賴性的影響并予以限制,比以后再去踩這個泥潭要容易得多。限制依賴于實現(xiàn)的語言特征的影響并不太難,限制依賴于系統(tǒng)的庫功能的影響就困難得多了。在所有可能之處都使用標(biāo)準(zhǔn)庫的功能是一個辦法。提供了多種整數(shù)類型、多種無符號類型、多種浮點類型的原因就是希望使程序員能夠利用各種硬件特性。在許多機器上,不同種類的基礎(chǔ)類型之間,在對存儲的需求、存儲訪問時間和計算速度方面存在著明顯的差異。如果你了解一臺機器,那么就很容易做出選擇,例如,選擇對某個變量所適用的整數(shù)類型。而寫出真正可移植的低級代碼就要困難得多。

編輯推薦

《C++程序設(shè)計語言(特別版·十周年中文紀(jì)念版)》:十周年紀(jì)念版體味C++語言的精妙與魅力享受與大師的心靈對話1979年,Biarne Stroustrup博士開始進(jìn)行一項現(xiàn)在看來具有深遠(yuǎn)意義的工作一在C語言的基礎(chǔ)上實現(xiàn)了內(nèi)建支持面向?qū)ο蟪绦蛟O(shè)計方法的C with Classes,這就是震鑠當(dāng)代、讓全世界數(shù)百萬程序員如癡如狂的C++語言的前身。1998年,ANSI/ISOC++標(biāo)準(zhǔn)建立,C++的標(biāo)準(zhǔn)化標(biāo)志著Stroustrup博士儷注多年心血的偉大構(gòu)想終于實現(xiàn)。2000年,Stroustrup博士推出其經(jīng)典著作The C++ Programming Language的特別版,這位C++之父將其對C++語言要義的理解、對編程精髓的把握、致C++程序員的箴言融會在這本書中,使《C++程序設(shè)計語言(特別版·十周年中文紀(jì)念版)》自面世以來便成為C++編程領(lǐng)域最重要的著作,對全世界C++程序員產(chǎn)生了廣泛而深刻的影響。十年后,讓我們重溫經(jīng)典,體味C++語言的精妙與魅力,享受與大師的心靈對話……C++之父的經(jīng)典之作第1版1985年,第2版1991年,第3版1997年,特別版2000年,讓經(jīng)典無限延伸……《C++程序設(shè)計語言(特別版·十周年中文紀(jì)念版)》是在C++語言和程序設(shè)計領(lǐng)域具有深遠(yuǎn)影響、暢銷不衰的著作,由C++語言之父Bjarne Stroustrup撰寫,對C++語言進(jìn)行了最全面、最權(quán)威的論述,覆蓋標(biāo)準(zhǔn)C++以及由C++所支持的關(guān)鍵性編程技術(shù)和設(shè)計技術(shù)?!禖++程序設(shè)計語言(特別版·十周年中文紀(jì)念版)》英文原版一經(jīng)面世,即引起業(yè)內(nèi)人士的高度評價和熱烈歡迎,先后被翻譯成德、希、匈、西、荷、法、日、俄、中、韓等近20種語言,數(shù)以百萬計的程序員從中獲益,是擁有最多讀者、使用最廣泛的C++著作。在《C++程序設(shè)計語言(特別版·十周年中文紀(jì)念版)》英文原版面世10年后的今天,特別奉上十周年中文紀(jì)念版,希望眾多具有豐富實戰(zhàn)經(jīng)驗的C++開發(fā)人員能夠溫故而知新,印證學(xué)習(xí)心得,了解更加本質(zhì)的C++知識,讓獲得的理論應(yīng)用得更加靈活,也期望新的C++程序員從中認(rèn)識到這本書的價值所在,從更高的起點出發(fā),書寫更加精彩的程序設(shè)計人生。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    C++程序設(shè)計語言 PDF格式下載


用戶評論 (總計139條)

 
 

  •   C++程序設(shè)計語言(特別版)十周年中文紀(jì)念版
  •   經(jīng)典之作,內(nèi)容就不評價了,否則班門弄斧了。
    優(yōu)點也是缺點:紙張?zhí)窳?。本書厚度?3毫米。
    剛買的《C++程序設(shè)計原理與實踐》600多頁,厚度才這個《C++程序設(shè)計語言》的一半。如果用前者所用紙張,這本經(jīng)典厚度可以減少25%。
    不過紙張厚了也好,經(jīng)得起折騰。
  •   送貨速度很快,書的紙質(zhì)和印刷也很好,翻譯略顯生硬,但不影響閱讀。之前學(xué)C的時候看過《C程序設(shè)計語言》,個人覺得一般,可這本書剛看一點點就覺得非常好,值得一看!
  •   先前讀了該作者寫的《C++程序設(shè)計原理與實踐》覺得寫的很好,就買了這本。
    草草看了幾頁,還不錯,紙張和印刷質(zhì)量也好,有什么心得讀完了再分享給讀友
  •   C++經(jīng)典之作,推薦C++程序設(shè)計原理與實踐
  •   是本好書,想自學(xué)就選他,作為一本工具手冊也不錯。和另外一本《C++程序設(shè)計原理與實踐》是絕配。
  •   現(xiàn)在喜歡買老外寫的書,比較容易看懂,C++是經(jīng)典,看了這本書讓人溫故而知新,印證學(xué)習(xí)心得,了解更加本質(zhì)的C++知識。
  •   看作者就知道這本書到底值的還是不值得了.而且上面印有十周年紀(jì)念版的字樣.很喜歡.
  •   很好的一本書,加強了對c語言基礎(chǔ)的了解,并幫助學(xué)習(xí)算法!
  •   C++之父的著作,無疑是C++最權(quán)威的參考。經(jīng)過一段時間的探索,還是鎖定C/C++作為最主要的編程語言學(xué)習(xí),有了這個基礎(chǔ),其實其他語言都是一通百通的。
    好好努力!
  •   c++以其獨有的魅力,吸引著一批又一批的程序開發(fā)者的追求,希望在本書的指導(dǎo)下,我會有一點收獲的
  •   不愧是經(jīng)典,學(xué)習(xí)c語言的不二選擇。
  •   唯一遺憾的是這本書的紙張薄了點,導(dǎo)致印刷質(zhì)量一般,其他真的沒有什么好說的,經(jīng)典中的經(jīng)典。
    當(dāng)當(dāng)?shù)脑u論頁面很蠢,給這么一個小框,還不能最大化,設(shè)計人員是腦殘?。?br />











  •   可以作為拔高使用,但是不適合初學(xué)。也不適合作為教科書。翻譯語言不太貼近生活,比較學(xué)術(shù)化!
  •   一本好書,程序無極限,用功需當(dāng)時……
  •   很不錯的書 傳說中的程序員大磚頭書… 我是和《C++ primer》一起買的~~
  •   十本經(jīng)典的C++書籍,英語好的話建議看原版~~~
  •   這本書是c++作者自己寫的,我原本以為我不需要看它,沒想到5年后,如果想要有更加深入的進(jìn)展,還是要看這本書的,終生五星級推薦
  •   這本書非常的經(jīng)典,只能說這個系列的書沒有不經(jīng)典的,把C++描述的出神入化,還是有機會要看下全英的版本
  •   經(jīng)典的一本C++編程書,喜歡,正在閱讀中
  •   可以作為你的參考書,如果有一定功底,建議買這本書!有內(nèi)涵的樹書!
    涵蓋了大量的C++關(guān)鍵技術(shù)
    最喜歡“比如說”三個字,,,,,你懂得.......
  •   要想全面的學(xué)習(xí)C++那么創(chuàng)始人的這本書值得您好好看一看,非常經(jīng)典,筆觸很深,堪稱C++學(xué)習(xí)的
    BIBLE
  •   書買回來比我想的還厚重,書頁質(zhì)量很好,目前還在努力的閱讀,內(nèi)容真的很多很豐富。推薦學(xué)習(xí)C的看看,很有收藏價值。
  •   經(jīng)典IT著作,之前一直想學(xué)習(xí)C++,瀏覽了目錄、閱讀了部分章節(jié),相當(dāng)受益。
  •   每個C++程序員都應(yīng)該讀一讀...
  •   收藏了。
    難度真的很高,要有很深的積累才能理解書中的思想。
  •   經(jīng)典著作,深究c++必讀,只是翻譯有些地方不妥。
  •   C++的經(jīng)典著作,很好的學(xué)習(xí)參考書,看過之后一定會有很大的收獲,受益匪淺。講解內(nèi)容相當(dāng)全面,仔細(xì)到位。
  •   信賴當(dāng)當(dāng)網(wǎng),一如既往的速度快 質(zhì)量好 絕對正版,這本經(jīng)典書也很不錯
  •   經(jīng)典的書!貨運速度快,東西質(zhì)量有保障!
  •   很經(jīng)典的C++書
  •   內(nèi)容就不講了!絕對是經(jīng)典之作!說多了就班門弄斧了!書的質(zhì)量非常好!看著都舒服!接下來就是讀完他
  •   跟之前看的書相比就是不一樣,很多不明白的問題里面都有提到,只是我還沒有看完。
  •   不錯的書,以后,這就是我的教科書了。書中的知識講解的很細(xì),內(nèi)容很豐富,這正是我想要的。
  •   書挺好,經(jīng)同學(xué)推薦買的。就是書腳在運送中被削了一塊去,沒啥大問題
  •   當(dāng)當(dāng)網(wǎng)速度快,書的質(zhì)量很好,確實是正版!內(nèi)容更是包含了C++全部的內(nèi)容,真是學(xué)習(xí)工作必備之選!
  •   經(jīng)典好書啊,網(wǎng)上很多人推薦的,準(zhǔn)備好好學(xué)習(xí)。
  •   品味經(jīng)典之作,提升C++編程水平,感悟c++編程思想
  •   書收到了,封面保持的很好,發(fā)貨很快,很滿意!希望下一次也這么完美?。?/li>
  •   速度很快,書也很好,只是內(nèi)包裝破了,書有些臟,希望下次注意點
  •   網(wǎng)上評價不錯的一本經(jīng)典C++書籍
  •   找了很久終于找到這本書了,看了幾頁,的確是經(jīng)典中的經(jīng)典啊。
    不愧是大師之作。
  •   不愧是經(jīng)典著作,值得花時間仔細(xì)研讀,從中學(xué)到了很多
  •   細(xì)細(xì)品讀大家的經(jīng)典著作,受益良多。
  •   非常經(jīng)典的一本書,講解的十分詳細(xì)!!
  •   還有比這本書更經(jīng)典的?
  •   經(jīng)典,慢慢學(xué)習(xí)中......
  •   從C轉(zhuǎn)到C++,基礎(chǔ)性的東西已經(jīng)掌握,需要對條條框框的東西理解的更深入一些,所以選擇這本說,聽說口碑不錯,適合需要進(jìn)階的童鞋學(xué)習(xí),剛好適合我!好好學(xué)習(xí)。。。
  •   這本書是我們學(xué)校統(tǒng)一的教材,我買了一本,非常好,具有權(quán)威性
  •   這本書的英文版難讀是出了名的,所以這回買了裘老師翻譯的本子,整體上來說覺得翻譯的很好,質(zhì)量不錯。這本書是學(xué)C++必備的,值得仔細(xì)研讀。如果C++的書籍只買一本,那就是它了,如果只能買兩本,再把《C++ primer》給加上,也就這樣吧
  •   裘教授翻譯得非常精確,很喜歡。。
  •   很好很強大,翻譯也行,沒別人說的那么夸張。不算是初學(xué)者書籍,里面有些內(nèi)容很深刻,雖然我也一時沒能理解,
  •   書的質(zhì)量不錯,沒想到這么厚啊!
  •   很好的書,包裝很精美,紙張很厚實
  •   書的內(nèi)容沒的說,大師執(zhí)筆通俗易懂質(zhì)量方面也還行挺好的贊一個!
  •   很不錯的書,這種書只能看國外的,就是好
  •   大師的書只能是拜讀
  •   書好厚啊,內(nèi)容非常詳細(xì)
  •   收到書一看,大塊頭??!把它啃完是一個艱巨的任務(wù)。
  •   這書值得收藏!
  •   剛買回來,還沒來得及看,書應(yīng)該不錯的,質(zhì)量還挺好的
  •   大師的書有點難懂,以后好好研究
  •   這書真厚,可得看段時間了,,,書挺不錯,包裝的也很嚴(yán)實,沒有破損現(xiàn)象,好評~~~
  •   c++入門很好的書。
  •   C++,我要攻克你了。書挺厚,但別想唬倒我。

    搞定你沒商量。除惡務(wù)盡。
  •   顯然還沒到讀這書的的水平,先囤起來
  •   我第一次在當(dāng)當(dāng)買書,前天下的訂單,我以為都跟淘寶一樣,最起碼需要3-4天才到,我昨天直接受收到了貨,送貨員的態(tài)度也不錯,跟淘寶的快遞比,非常的好,我以后需要相關(guān)書籍,會繼續(xù)來當(dāng)當(dāng)?shù)?/li>
  •   書很好,運送有點不好,有點損傷。
  •   書的內(nèi)容還沒有看,書很厚,紙質(zhì)ok
  •   書是正版!物有所值!
  •   書不錯哦,價格也便宜
  •   如果是C++入門的話,那實在是找不出這本書更值得推薦的了
  •   里面內(nèi)容很全面,很值得看,不過就是翻譯不怎么好
  •   經(jīng)典中的經(jīng)典,無需多言,學(xué)C++必備
  •   C++我學(xué)過的,現(xiàn)在小孩想學(xué)可我以前的教材找不到了。這一本從內(nèi)容上看比我的教材全面多了而且講得很細(xì)。很喜歡。小孩會在我的指導(dǎo)下學(xué)習(xí)的。
  •   真心覺得創(chuàng)始人就是牛逼吧,好書,絕對的好書
  •   很厚很詳細(xì),思想深刻。畢竟是創(chuàng)始人寫的。
  •   國外教材,很厚的一本書,非常詳細(xì);正在學(xué)習(xí)中。
  •   內(nèi)容偏深,但是很有價值,想成為C++高手的騷年們,努力啃這個大部頭吧!
  •   經(jīng)典教材,寫的很不錯,講解了各種方法、來源,國內(nèi)的一些教材都是講語法細(xì)節(jié)。。。
  •   經(jīng)典不錯啊
  •   周五下大雨,本來以為收不到了經(jīng)典書籍,認(rèn)真研讀!
  •   900多頁,十分厚實,乃經(jīng)典之作
  •   思想深邃,不錯,c++經(jīng)典
  •   經(jīng)典書目啊,還沒來得及看呢,到手感覺挺好,印刷什么的都沒問題,就是封面在運來的路上壞了一小點,期待以后有它陪伴的日子啊。。。還有,我是降價買的,感覺好劃算?。?!
  •   經(jīng)典 詳細(xì) 基礎(chǔ)必備
  •   經(jīng)典,不多說了。有心于此的值得買一本。
  •   必須的經(jīng)典,但是不簡單??!
  •   聽說是經(jīng)典
  •   經(jīng)典必須要讀的
  •   挺好的,經(jīng)典不錯,但是需要好好消化
  •   好好學(xué)習(xí)下,深入學(xué)習(xí)下.
  •   終于買了這本書,送貨很快,大度很好,只是還沒來得及看,準(zhǔn)備好好學(xué)習(xí)。。。。
  •   哎, 技術(shù)不行啊 ,
    有些地方看的時候想睡覺,不過很喜歡,但大部分還是沒問題的
  •   內(nèi)容不錯,翻譯一般,送貨速度挺快
  •   沒辦法,聽說翻譯的不是很好,還是要看看
  •   有時間再好好拜讀,現(xiàn)在太忙了。感覺很好
  •   很早就想買了,不過一直都沒時間看,所以現(xiàn)在才買
  •   推薦給學(xué)c++的人
  •   內(nèi)容非常詳細(xì),從基礎(chǔ)開始講起。既可以入門又可以深入。
 

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

京ICP備13047387號-7