[www.ed2k.online]下載基地為您提供軟件、遊戲、圖書、教育等各種資源的ED2K電驢共享下載和MAGNET磁力鏈接下載。
設為首頁
加入收藏
首頁 圖書資源 軟件資源 游戲資源 教育資源 其他資源
 電驢下載基地 >> 图书资源 >> 計算機與網絡 >> 《C++編程思想(兩卷合訂本)》掃描版[PDF]
《C++編程思想(兩卷合訂本)》掃描版[PDF]
下載分級 图书资源
資源類別 計算機與網絡
發布時間 2017/7/10
大       小 -
《C++編程思想(兩卷合訂本)》掃描版[PDF] 簡介: 中文名 : C++編程思想(兩卷合訂本) 作者 : (美) Bruce Eckel Chuck Allison 譯者 : 劉宗田 等 圖書分類 : 軟件 資源格式 : PDF 版本 : 掃描版 出版社 : 機械工業出版社 書號 : 9787111350217 發行時間 : 2011年07月01日 地區 : 大陸 語言 : 簡體中文 簡介 :
電驢資源下載/磁力鏈接資源下載:
全選
"《C++編程思想(兩卷合訂本)》掃描版[PDF]"介紹
中文名: C++編程思想(兩卷合訂本)
作者: (美) Bruce Eckel Chuck Allison
譯者: 劉宗田 等
圖書分類: 軟件
資源格式: PDF
版本: 掃描版
出版社: 機械工業出版社
書號: 9787111350217
發行時間: 2011年07月01日
地區: 大陸
語言: 簡體中文
簡介:



內容簡介:
《c++編程思想(兩卷合訂本)》曾榮獲美國《軟件開發》雜志評選的1996年jolt生產力大獎,中文版自2000年推出以來,經久不衰,獲得了讀者的充分肯定和高度評價。
  《c++編程思想(兩卷合訂本)》的第1卷是在第1版的基礎上進行了更加深入的分析和修改後得到的第2版,其內容更加集中,可以供不同程度的讀者選擇閱讀。本書第2卷介紹了c++實用的編程技術和最佳的實踐方法,深入探究了異常處理方法和異常安全設計;介紹c++的字符串、輸入輸出流的現代用法;解釋多重繼承問題的難點,描述了典型的設計模式及其實現,特別介紹了多線程處理編程技術。
  《c++編程思想(兩卷合訂本)》是c++領域內一本權威的著作,書中的內容、講授方法、練習既適合課堂教學,又適合讀者自學。本書適合作為高等院校計算機及相關專業的本科生、研究生的教材,也可供從事軟件開發的研究人員和科技工作者參考。
資源來自網絡,如侵犯了您的權利,請點擊,謝謝!
網盤分流地址:[C++編程思想(兩卷合訂本)].(Bruce等).劉宗田等.掃描版.pdf
c、c++、c#編程開發電子書專題庫
內容截圖:


目錄:


出版者的話
出版說明
第1卷 標准c++導引
譯者序
前言
第1章 對象導言
1.1 抽象的過程
1.2 對象有一個接口
1.3 實現的隱藏
1.4 實現的重用
1.5 繼承:重用接口
1.5.1 is-a 關系和is-like-a 關系
1.6 具有多態性的可互換對象
1.7 創建和銷毀對象
1.8 異常處理:應對錯誤
1.9 分析和設計
1.9.1 第0階段:制定計劃
1.9.2 第1階段:我們在做什麼
1.9.3 第2階段:我們將如何建立對象
1.9.4 第3階段:創建核心
1.9.5 第4階段:迭代用例
1.9.6 第5階段:進化
1.9.7 計劃的回報
1.10 極限編程
1.10.1 先寫測試
1.10.2 結對編程
1.11 為什麼c++會成功
1.11.1 一個較好的c
1.11.2 延續式的學習過程
1.11.3 效率
1.11.4 系統更容易表達和理解
1.11.5 盡量使用庫
1.11.6 利用模板的源代碼重用
1.11.7 錯誤處理
1.11.8 大型程序設計
1.12 為向oop轉變而采取的策略
1.12.1 指導方針
1.12.2 管理的障礙
1.13 小結
第2章 對象的創建與使用
2.1 語言的翻譯過程
2.1.1 解釋器
2.1.2 編譯器
2.1.3 編譯過程
2.2 分段編譯工具
2.2.1 聲明與定義
2.2.2 連接
2.2.3 使用庫文件
2.3 編寫第一個c++程序
2.3.1 使用iostream類
2.3.2 名字空間
2.3.3 程序的基本結構
2.3.4 “hello, world!”
2.3.5 運行編譯器
2.4 關於輸入輸出流
2.4.1 字符數組的拼接
2.4.2 讀取輸入數據
2.4.3 調用其他程序
2.5 字符串簡介
2.6 文件的讀寫
2.7 vector簡介
2.8 小結
2.9 練習
第3章 c++中的c
3.1 創建函數
3.1.1 函數的返回值
3.1.2 使用c的函數庫
3.1.3 通過庫管理器創建自己的庫
3.2 執行控制語句
3.2.1 真和假
3.2.2 if-else語句
3.2.3 while語句
3.2.4 do-while語句
3.2.5 for語句
3.2.6 關鍵字break 和 continue
3.2.7 switch語句
3.2.8 使用和濫用goto
3.2.9 遞歸
3.3 運算符簡介
3.3.1 優先級
3.3.2 自增和自減
3.4 數據類型簡介
3.4.1 基本內建類型
3.4.2 bool類型與true和false
3.4.3 說明符
3.4.4 指針簡介
3.4.5 修改外部對象
3.4.6 c++引用簡介
3.4.7 用指針和引用作為修飾符
3.5 作用域
3.5.1 實時定義變量
3.6 指定存儲空間分配
3.6.1 全局變量
3.6.2 局部變量
3.6.3 靜態變量
3.6.4 外部變量
3.6.5 常量
3.6.6 volatile變量
3.7 運算符及其使用
3.7.1 賦值
3.7.2 數學運算符
3.7.3 關系運算符
3.7.4 邏輯運算符
3.7.5 位運算符
3.7.6 移位運算符
3.7.7 一元運算符
3.7.8 三元運算符
3.7.9 逗號運算符
3.7.10 使用運算符時的常見問題
3.7.11 轉換運算符
3.7.12 c++的顯式轉換
3.7.13 sizeof-獨立運算符
3.7.14 asm 關鍵字
3.7.15 顯式運算符
3.8 創建復合類型
3.8.1 用typedef命名別名
3.8.2 用struct把變量結合在一起
3.8.3 用enum提高程度清晰度
3.8.4 用union節省內存
3.8.5 數組
3.9 調試技巧
3.9.1 調試標記
3.9.2 把變量和表達式轉換成字符串
3.9.3 c語言assert( )宏
3.10 函數地址
3.10.1 定義函數指針
3.10.2 復雜的聲明和定義
3.10.3 使用函數指針
3.10.4 指向函數的指針數組
3.11 make:管理分段編譯
3.11.1 make的行為
3.11.2 本書中的makefile
3.11.3 makefile的一個例子
3.12 小結
3.13 練習
第4章 數據抽象
4.1 一個袖珍c庫
4.1.1 動態存儲分配
4.1.2 有害的猜測
4.2 哪兒出問題
4.3 基本對象
4.4 什麼是對象
4.5 抽象數據類型
4.6 對象細節
4.7 頭文件形式
4.7.1 頭文件的重要性
4.7.2 多次聲明問題
4.7.3 預處理器指示#define、#ifdef
和#endif
4.7.4 頭文件的標准
4.7.5 頭文件中的名字空間
4.7.6 在項目中使用頭文件
4.8 嵌套結構
4.8.1 全局作用域解析
4.9 小結
4.10 練習
第5章 隱藏實現
5.1 設置限制
5.2 c++的訪問控制
5.2.1 protected說明符
5.3 友元
5.3.1 嵌套友元
5.3.2 它是純面向對象的嗎
5.4 對象布局
5.5 類
5.5.1 用訪問控制來修改stash
5.5.2 用訪問控制來修改stack
5.6 句柄類
5.6.1 隱藏實現
5.6.2 減少重復編譯
5.7 小結
5.8 練習
第6章 初始化與清除
6.1 用構造函數確保初始化
6.2 用析構函數確保清除
6.3 清除定義塊
6.3.1 for循環
6.3.2 內存分配
6.4 帶有構造函數和析構函數的stash
6.5 帶有構造函數和析構函數的stack
6.6 聚合初始化
6.7 默認構造函數
6.8 小結
6.9 練習
第7章 函數重載與默認參數
7.1 名字修飾
7.1.1 用返回值重載
7.1.2 類型安全連接
7.2 重載的例子
7.3 聯合
7.4 默認參數
7.4.1 占位符參數
7.5 選擇重載還是默認參數
7.6 小結
7.7 練習
第8章 常量
8.1 值替代
8.1.1 頭文件裡的const
8.1.2 const的安全性
8.1.3 聚合
8.1.4 與c語言的區別
8.2 指針
8.2.1 指向const的指針
8.2.2 const指針
8.2.3 賦值和類型檢查
8.3 函數參數和返回值
8.3.1 傳遞const值
8.3.2 返回const值
8.3.3 傳遞和返回地址
8.4 類
8.4.1 類裡的const
8.4.2 編譯期間類裡的常量
8.4.3 const對象和成員函數
8.5 volatile
8.6 小結
8.7 練習
第9章 內聯函數
9.1 預處理器的缺陷
9.1.1 宏和訪問
9.2 內聯函數
9.2.1 類內部的內聯函數
9.2.2 訪問函數
9.3 帶內聯函數的stash和stack
9.4 內聯函數和編譯器
9.4.1 限制
9.4.2 向前引用
9.4.3 在構造函數和析構函數裡隱藏行為
9.5 減少混亂
9.6 預處理器的更多特征
9.6.1 標志粘貼
9.7 改進的錯誤檢查
9.8 小結
9.9 練習
第10章 名字控制
10.1 來自c語言中的靜態元素
10.1.1 函數內部的靜態變量
10.1.2 控制連接
10.1.3 其他存儲類型說明符
10.2 名字空間
10.2.1 創建一個名字空間
10.2.2 使用名字空間
10.2.3 名字空間的使用
10.3 c++中的靜態成員
10.3.1 定義靜態數據成員的存儲
10.3.2 嵌套類和局部類
10.3.3 靜態成員函數
10.4 靜態初始化的相依性
10.4.1 怎麼辦
10.5 替代連接說明
10.6 小結
10.7 練習
第11章 引用和拷貝構造函數
11.1 c++中的指針
11.2 c++中的引用
11.2.1 函數中的引用
11.2.2 參數傳遞准則
11.3 拷貝構造函數
11.3.1 按值傳遞和返回
11.3.2 拷貝構造函數
11.3.3 默認拷貝構造函數
11.3.4 替代拷貝構造函數的方法
11.4 指向成員的指針
11.4.1 函數
11.5 小結
11.6 練習
第12章 運算符重載
12.1 兩個極端
12.2 語法
12.3 可重載的運算符
12.3.1 一元運算符
12.3.2 二元運算符
12.3.3 參數和返回值
12.3.4 不常用的運算符
12.3.5 不能重載的運算符
12.4 非成員運算符
12.4.1 基本方針
12.5 重載賦值符
12.5.1 operator=的行為
12.6 自動類型轉換
12.6.1 構造函數轉換
12.6.2 運算符轉換
12.6.3 類型轉換例子
12.6.4 自動類型轉換的缺陷
12.7 小結
12.8 練習
第13章 動態對象創建
13.1 對象創建
13.1.1 c從堆中獲取存儲單元的方法
13.1.2 operator new
13.1.3 operator delete
13.1.4 一個簡單的例子
13.1.5 內存管理的開銷
13.2 重新設計前面的例子
13.2.1 使用delete void*可能會出錯
13.2.2 對指針的清除責任
13.2.3 指針的stash
13.3 用於數組的new和delete
13.3.1 使指針更像數組
13.4 耗盡內存
13.5 重載new和delete
13.5.1 重載全局new和delete
13.5.2 對於一個類重載new和delete
13.5.3 為數組重載new和delete
13.5.4 構造函數調用
13.5.5 定位new和delete
13.6 小結
13.7 練習
第14章 繼承和組合
14.1 組合語法
14.2 繼承語法
14.3 構造函數的初始化表達式表
14.3.1 成員對象初始化
14.3.2 在初始化表達式表中的內建類型
14.4 組合和繼承的聯合
14.4.1 構造函數和析構函數調用的次序
14.5 名字隱藏
14.6 非自動繼承的函數
14.6.1 繼承和靜態成員函數
14.7 組合與繼承的選擇
14.7.1 子類型設置
14.7.2 私有繼承
14.8 protected
14.8.1 protected繼承
14.9 運算符的重載與繼承
14.10 多重繼承
14.11 漸增式開發
14.12 向上類型轉換
14.12.1 為什麼要“向上類型轉換”
14.12.2 向上類型轉換和拷貝構造函數
14.12.3 組合與繼承(再論)
14.12.4 指針和引用的向上類型轉換
14.12.5 危機
14.13 小結
14.14 練習
第15章 多態性和虛函數
15.1 c++程序員的演變
15.2 向上類型轉換
15.3 問題
15.3.1 函數調用捆綁
15.4 虛函數
15.4.1 擴展性
15.5 c++如何實現晚捆綁
15.5.1 存放類型信息
15.5.2 虛函數功能圖示
15.5.3 撩開面紗
15.5.4 安裝vpointer
15.5.5 對象是不同的
15.6 為什麼需要虛函數
15.7 抽象基類和純虛函數
15.7.1 純虛定義
15.8 繼承和vtable
15.8.1 對象切片
15.9 重載和重新定義
15.9.1 變量返回類型
15.10 虛函數和構造函數
15.10.1 構造函數調用次序
15.10.2 虛函數在構造函數中的行為
15.11 析構函數和虛擬析構函數
15.11.1 純虛析構函數
15.11.2 析構函數中的虛機制
15.11.3 創建基於對象的繼承
15.12 運算符重載
15.13 向下類型轉換
15.14 小結
15.15 練習
第16章 模板介紹
16.1 容器
16.1.1 容器的需求
16.2 模板綜述
16.2.1 模板方法
16.3 模板語法
16.3.1 非內聯函數定義
16.3.2 作為模板的intstack
16.3.3 模板中的常量
16.4 作為模板的stash和stack
16.4.1 模板化的指針stash
16.5 打開和關閉所有權
16.6 以值存放對象
16.7 迭代器簡介
16.7.1 帶有迭代器的棧
16.7.2 帶有迭代器的pstash
16.8 為什麼使用迭代器
16.8.1 函數模板
16.9 小結
16.10 練習
附錄a 編碼風格
附錄b 編程准則
附錄c 推薦讀物
第2卷 實用編程技術
譯者序
前言
第一部分 建立穩定的系統
第1章 異常處理
1.1 傳統的錯誤處理
1.2 拋出異常
1.3 捕獲異常
1.3.1 try塊
1.3.2 異常處理器
1.3.3 終止和恢復
1.4 異常匹配
1.4.1 捕獲所有異常
1.4.2 重新拋出異常
1.4.3 不捕獲異常
1.5 清理
1.5.1 資源管理
1.5.2 使所有事物都成為對象
1.5.3 auto_ptr
1.5.4 函數級的try塊
1.6 標准異常
1.7 異常規格說明
1.7.1 更好的異常規格說明
1.7.2 異常規格說明和繼承
1.7.3 什麼時候不使用異常規格說明
1.8 異常安全
1.9 在編程中使用異常
1.9.1 什麼時候避免異常
1.9.2 異常的典型應用
1.10 使用異常造成的開銷
1.11 小結
1.12 練習
第2章 防御性編程
2.1 斷言
2.2 一個簡單的單元測試框架
2.2.1 自動測試
2.2.2 testsuite框架
2.2.3 測試套件
2.2.4 測試框架的源代碼
2.3 調試技術
2.3.1 用於代碼跟蹤的宏
2.3.2 跟蹤文件
2.3.3 發現內存洩漏
2.4 小結
2.5 練習
第二部分 標准c++庫
第3章 深入理解字符串
3.1 字符串的內部是什麼
3.2 創建並初始化c++字符串
3.3 對字符串進行操作
3.3.1 追加、插入和連接字符串
3.3.2 替換字符串中的字符
3.3.3 使用非成員重載運算符連接
3.4 字符串的查找
3.4.1 反向查找
3.4.2 查找一組字符第1次或最後一次出現的位置
3.4.3 從字符串中刪除字符
3.4.4 字符串的比較
3.4.5 字符串和字符的特性
3.5 字符串的應用
3.6 小結
3.7 練習
第4章 輸入輸出流
4.1 為什麼引入輸入輸出流
4.2 救助輸入輸出流
4.2.1 插入符和提取符
4.2.2 通常用法
4.2.3 按行輸入
4.3 處理流錯誤
4.4 文件輸入輸出流
4.4.1 一個文件處理的例子
4.4.2 打開模式
4.5 輸入輸出流緩沖
4.6 在輸入輸出流中定位
4.7 字符串輸入輸出流
4.7.1 輸入字符串流
4.7.2 輸出字符串流
4.8 輸出流的格式化
4.8.1 格式化標志
4.8.2 格式化域
4.8.3 寬度、填充和精度設置
4.8.4 一個完整的例子
4.9 操縱算子
4.9.1 帶參數的操縱算子
4.9.2 創建操縱算子
4.9.3 效用算子
4.10 輸入輸出流程序舉例
4.10.1 維護類庫的源代碼
4.10.2 檢測編譯器錯誤
4.10.3 一個簡單的數據記錄器
4.11 國際化
4.11.1 寬字符流
4.11.2 區域性字符流
4.12 小結
4.13 練習
第5章 深入理解模板
5.1 模板參數
5.1.1 無類型模板參數
5.1.2 默認模板參數
5.1.3 模板類型的模板參數
5.1.4 typename關鍵字
5.1.5 以template關鍵字作為提示
5.1.6 成員模板
5.2 有關函數模板的幾個問題
5.2.1 函數模板參數的類型推斷
5.2.2 函數模板重載
5.2.3 以一個已生成的函數模板地址作為參數
5.2.4 將函數應用到stl序列容器中
5.2.5 函數模板的半有序
5.3 模板特化
5.3.1 顯式特化
5.3.2 半特化
5.3.3 一個實例
5.3.4 防止模板代碼膨脹
5.4 名稱查找問題
5.4.1 模板中的名稱
5.4.2 模板和友元
5.5 模板編程中的習語
5.5.1 特征
5.5.2 策略
5.5.3 奇特的遞歸模板模式
5.6 模板元編程
5.6.1 編譯時編程
5.6.2 表達式模板
5.7 模板編譯模型
5.7.1 包含模型
5.7.2 顯式實例化
5.7.3 分離模型
5.8 小結
5.9 練習
第6章 通用算法
6.1 概述
6.1.1 判定函數
6.1.2 流迭代器
6.1.3 算法復雜性
6.2 函數對象
6.2.1 函數對象的分類
6.2.2 自動創建函數對象
6.2.3 可調整的函數對象
6.2.4 更多的函數對象例子
6.2.5 函數指針適配器
6.2.6 編寫自己的函數對象適配器
6.3 stl算法目錄
6.3.1 實例創建的支持工具
6.3.2 填充和生成
6.3.3 計數
6.3.4 操作序列
6.3.5 查找和替換
6.3.6 比較范圍
6.3.7 刪除元素
6.3.8 對已排序的序列進行排序和運算
6.3.9 堆運算
6.3.10 對某一范圍內的所有元素進行運算
6.3.11 數值算法
6.3.12 通用實用程序
6.4 創建自己的stl風格算法
6.5 小結
6.6 練習
第7章 通用容器
7.1 容器和迭代器
7.2 概述
7.2.1 字符串容器
7.2.2 從stl容器繼承
7.3 更多迭代器
7.3.1 可逆容器中的迭代器
7.3.2 迭代器的種類
7.3.3 預定義迭代器
7.4 基本序列容器:vector、list和deque
7.4.1 基本序列容器的操作
7.4.2 向量
7.4.3 雙端隊列
7.4.4 序列容器間的轉換
7.4.5 被檢查的隨機訪問
7.4.6 鏈表
7.4.7 交換序列
7.5 集合
7.6 堆棧
7.7 隊列
7.8 優先隊列
7.9 持有二進制位
7.9.1 bitset[n]
7.9.2 vector[bool]
7.10 關聯式容器
7.10.1 用於關聯式容器的發生器和填充器
7.10.2 不可思議的映像
7.10.3 多重映像和重復的關鍵字
7.10.4 多重集合
7.11 將stl容器聯合使用
7.12 清除容器的指針
7.13 創建自己的容器
7.14 對stl的擴充
7.15 非stl容器
7.16 小結
7.17 練習
第三部分 專 題
第8章 運行時類型識別
8.1 運行時類型轉換
8.2 typeid 操作符
8.2.1 類型轉換到中間層次類型
8.2.2 void型指針
8.2.3 運用帶模板的rtti
8.3 多重繼承
8.4 合理使用rtti
8.5 rtti的機制和開銷
8.6 小結
8.7 練習
第9章 多重繼承
9.1 概論
9.2 接口繼承
9.3 實現繼承
9.4 重復子對象
9.5 虛基類
9.6 名字查找問題
9.7 避免使用多重繼承
9.8 擴充一個接口
9.9 小結
9.10 練習
第10章 設計模式
10.1 模式的概念
10.2 模式分類
10.3 簡化習語
10.3.1 信使
10.3.2 收集參數
10.4 單件
10.5 命令:選擇操作
10.6 消除對象耦合
10.6.1 代理模式:作為其他對象的前端
10.6.2 狀態模式:改變對象的行為
10.7 適配器模式
10.8 模板方法模式
10.9 策略模式:運行時選擇算法
10.10 職責鏈模式:嘗試采用一系列
策略模式
10.11 工廠模式:封裝對象的創建
10.11.1 多態工廠
10.11.2 抽象工廠
10.11.3 虛構造函數
10.12 構建器模式:創建復雜對象
10.13 觀察者模式
10.13.1 “內部類”方法
10.13.2 觀察者模式舉例
10.14 多重派遣
10.15 小結
10.16 練習
第11章 並發
11.1 動機
11.2 c++中的並發
11.3 定義任務
11.4 使用線程
11.4.1 創建有響應的用戶界面
11.4.2 使用執行器簡化工作
11.4.3 讓步
11.4.4 休眠
11.4.5 優先權
11.5 共享有限資源
11.5.1 保證對象的存在
11.5.2 不恰當地訪問資源
11.5.3 訪問控制
11.5.4 使用保護簡化編碼
11.5.5 線程本地存儲
11.6 終止任務
11.6.1 防止輸入/輸出流沖突
11.6.2 舉例觀賞植物園
11.6.3 阻塞時終止
11.6.4 中斷
11.7 線程間協作
11.7.1 等待和信號
11.7.2 生產者-消費者關系
11.7.3 用隊列解決線程處理的問題
11.7.4 廣播
11.8 死鎖
11.9 小結
11.10 練習
附錄
附錄a 推薦讀物
附錄b 其他



相關資源:

免責聲明:本網站內容收集於互聯網,本站不承擔任何由於內容的合法性及健康性所引起的爭議和法律責任。如果侵犯了你的權益,請通知我們,我們會及時刪除相關內容,謝謝合作! 聯系信箱:[email protected]

Copyright © 電驢下載基地 All Rights Reserved