出版時間:2010-3 出版社:機械工業(yè)出版社 作者:斯特朗斯特魯普 頁數(shù):905 譯者:裘宗燕
Tag標簽:無
前言
Bjarne Stroustrup的《The C++ Programming Language》是有關(guān)C++語言的第一部著作。毫無疑問,它是關(guān)于C++語言及其程序設(shè)計的最重要著作,在此領(lǐng)域中的地位是無可替代的。《The C++ Programming Language》一書伴隨著C++語言的發(fā)展演化而不斷進步,經(jīng)過第1版(1985年)、第2版(1991年),第3版(1998年),本書的英文原書是《The C++ Programming Language》第3版經(jīng)過補充和修訂后的“特別版(2000)”(對應(yīng)于國內(nèi)引進的影印本)。對于這個中譯本,我想說的第一句話就是“來得太晚了”。 要學(xué)習(xí)C++語言和程序設(shè)計,要將C++應(yīng)用于程序設(shè)計實踐,本書自然是必讀之書。這個“特別版”以標準化的C++語言為基礎(chǔ),討論了C++的各種語言特征和有效使用這一語言的程序設(shè)計技術(shù)。書中也用了大量的篇幅,在標準庫以及一般軟件開發(fā)的環(huán)境下,討論了使用C++語言編程和組織程序的許多高級技術(shù)。本書內(nèi)容覆蓋了C++語言及其程序設(shè)計的各個方面,其技術(shù)深度與廣度是舉世公認的。 然而,作者討論的并不僅是C++語言及其程序設(shè)計。本書的討論遠遠超出這一范圍,第四部分用了大量的篇幅去討論軟件開發(fā)過程及其問題。即使是在介紹C++語言及其程序設(shè)計的具體問題時,作者也常在程序結(jié)構(gòu)、設(shè)計和軟件開發(fā)的大環(huá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)域中長期工作下去,我認為,你從本書中的收獲大致也會與你所花的時間成正比,這本書也是一本能夠伴隨你成長的書。
內(nèi)容概要
本書是在C++語言和程序設(shè)計領(lǐng)域具有深遠影響、暢銷不衰的著作,由C++語言的設(shè)計者編寫,對C++語言進行了最全面、最權(quán)威的論述,覆蓋標準C++以及由C++所支持的關(guān)鍵性編程技術(shù)和設(shè)計技術(shù)。本書英文原版一經(jīng)面世,即引起業(yè)內(nèi)人士的高度評價和熱烈歡迎,先后被翻譯成德、希、匈、西、荷、法、日、俄、中、韓等近20種語言,數(shù)以百萬計的程序員從中獲益,是無可取代的C++經(jīng)典力作。
在本書英文原版面世10年后的今天,特別奉上十周年中文紀念版,希望眾多具有豐富實戰(zhàn)經(jīng)驗的C++開發(fā)人員能夠溫故而知新,印證學(xué)習(xí)心得,了解更加本質(zhì)的C++知識,讓獲得的理論應(yīng)用得更加靈活,也期望新的C++程序員從中認識到這本書的價值所在,從更高的起點出發(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)域的重大貢獻,他獲得了ACM的Grace
Murray
Hopper大獎并成為ACM院士;2008年,他又獲得了Dr.Dobb's雜志的程序設(shè)計杰出獎。在進入學(xué)術(shù)界之前,他在AT&T貝爾實驗室工作。他是ISO
C++標準委員會的創(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 參考文獻
第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章 標準庫概覽
3.1 引言
3.2 Hello, world!
3.3 標準庫名字空間
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 標準容器
3.8 算法
3.8.1 迭代器的使用
3.8.2 迭代器類型
3.8.3 迭代器和I/O
3.8.4 遍歷和謂詞
3.8.5 使用成員函數(shù)的算法
3.8.6 標準庫算法
3.9 數(shù)學(xué)
3.9.1 復(fù)數(shù)
3.9.2 向量算術(shù)
3.9.3 基本數(shù)值支持
3.10 標準庫功能
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章 表達式和語句
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 注釋和縮進編排
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 默認參數(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 標準庫頭文件
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 默認構(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 下標
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 默認模板參數(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 標準異常
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í)
第三部分 標 準 庫
第16章 庫組織和容器
16.1 標準庫的設(shè)計
16.1.1 設(shè)計約束
16.1.2 標準庫組織
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章 標準容器
17.1 標準容器
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 堆棧—stack 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 標準庫算法綜述
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 標準分配器
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標準庫
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 標準數(shù)學(xué)函數(shù)
22.4 向量算術(shù)
22.4.1 valarray的構(gòu)造
22.4.2 valarray的下標和賦值
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è)計目標
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 帶標注的參考文獻
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ù)細節(jié)
附錄D 現(xiàn)場
附錄E 標準庫的異常時安全性
索引
章節(jié)摘錄
插圖:c++基本類型的某些方面是由實現(xiàn)確定的,例如int的大?。–.2節(jié))。我總要指出這種依賴性,并常常提出應(yīng)該避免它們,或者通過某些方式盡可能減小其影響的建議。為什么需要為這些東西操心呢?在各種各樣的系統(tǒng)中或使用多種編譯器去編程序的人們很注意這些事情,因為如果他們不這樣做,那他們就會被迫去花時間尋找和糾正很隱蔽的錯誤。那些自稱不關(guān)心移植性的人也確實常常像自己所說的那樣去做,因為他們只使用一種系統(tǒng),并認為自己能承擔(dān)起如下看法:“這個語言不過就是我的編譯器所實現(xiàn)的那種東西”。但是,這實際上是一種狹隘和短視的觀點。如果你的程序是成功的,那么它就很可能需要移植,而這時某些人就必須去尋找并糾正那些依賴于實現(xiàn)的特征了。此外,程序經(jīng)常需要為了同一個系統(tǒng)而用其他編譯器來編譯,甚至你最喜愛的編譯器的未來版本在做某些事情時,也可能采用與目前的版本不同的方式。在寫程序時,理解程序?qū)崿F(xiàn)的依賴性的影響并予以限制,比以后再去踩這個泥潭要容易得多。限制依賴于實現(xiàn)的語言特征的影響并不太難,限制依賴于系統(tǒng)的庫功能的影響就困難得多了。在所有可能之處都使用標準庫的功能是一個辦法。提供了多種整數(shù)類型、多種無符號類型、多種浮點類型的原因就是希望使程序員能夠利用各種硬件特性。在許多機器上,不同種類的基礎(chǔ)類型之間,在對存儲的需求、存儲訪問時間和計算速度方面存在著明顯的差異。如果你了解一臺機器,那么就很容易做出選擇,例如,選擇對某個變量所適用的整數(shù)類型。而寫出真正可移植的低級代碼就要困難得多。
編輯推薦
《C++程序設(shè)計語言(特別版·十周年中文紀念版)》:十周年紀念版體味C++語言的精妙與魅力享受與大師的心靈對話1979年,Biarne Stroustrup博士開始進行一項現(xiàn)在看來具有深遠意義的工作一在C語言的基礎(chǔ)上實現(xiàn)了內(nèi)建支持面向?qū)ο蟪绦蛟O(shè)計方法的C with Classes,這就是震鑠當(dāng)代、讓全世界數(shù)百萬程序員如癡如狂的C++語言的前身。1998年,ANSI/ISOC++標準建立,C++的標準化標志著Stroustrup博士儷注多年心血的偉大構(gòu)想終于實現(xiàn)。2000年,Stroustrup博士推出其經(jīng)典著作The C++ Programming Language的特別版,這位C++之父將其對C++語言要義的理解、對編程精髓的把握、致C++程序員的箴言融會在這本書中,使《C++程序設(shè)計語言(特別版·十周年中文紀念版)》自面世以來便成為C++編程領(lǐng)域最重要的著作,對全世界C++程序員產(chǎn)生了廣泛而深刻的影響。十年后,讓我們重溫經(jīng)典,體味C++語言的精妙與魅力,享受與大師的心靈對話……C++之父的經(jīng)典之作第1版1985年,第2版1991年,第3版1997年,特別版2000年,讓經(jīng)典無限延伸……《C++程序設(shè)計語言(特別版·十周年中文紀念版)》是在C++語言和程序設(shè)計領(lǐng)域具有深遠影響、暢銷不衰的著作,由C++語言之父Bjarne Stroustrup撰寫,對C++語言進行了最全面、最權(quán)威的論述,覆蓋標準C++以及由C++所支持的關(guān)鍵性編程技術(shù)和設(shè)計技術(shù)?!禖++程序設(shè)計語言(特別版·十周年中文紀念版)》英文原版一經(jīng)面世,即引起業(yè)內(nèi)人士的高度評價和熱烈歡迎,先后被翻譯成德、希、匈、西、荷、法、日、俄、中、韓等近20種語言,數(shù)以百萬計的程序員從中獲益,是擁有最多讀者、使用最廣泛的C++著作。在《C++程序設(shè)計語言(特別版·十周年中文紀念版)》英文原版面世10年后的今天,特別奉上十周年中文紀念版,希望眾多具有豐富實戰(zhàn)經(jīng)驗的C++開發(fā)人員能夠溫故而知新,印證學(xué)習(xí)心得,了解更加本質(zhì)的C++知識,讓獲得的理論應(yīng)用得更加靈活,也期望新的C++程序員從中認識到這本書的價值所在,從更高的起點出發(fā),書寫更加精彩的程序設(shè)計人生。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載