首页 > 代码库 > 我的第一本C++书,目录

我的第一本C++书,目录

 

共分三篇十三章。这是总目录,细分到节:

 

  1 /*  2   3 我的第一本C++书(游历C++世界的地图)  4   5 第1篇 叩开c++世界的大门   6   7   8 第1章 c++世界地图   9 1.1 c++是什么  10 1.2 c++的前世今生  11 1.2.1 从b到c  12 1.2.2 从c到c++  13 1.2.3 从c++到.net framework的cli  14 1.2.4 最新标准c++0x让c++重新焕发活力  15 1.2.5 c++和c#不得不说的那点事儿  16 1.2.6 c++世界的五大子语言  17 1.3 c++世界版图  18 1.3.1 windows系统下的c++开发  19 1.3.2 linux系统下的c++开发  20 1.3.3 嵌入式系统下的c++开发  21 1.4 如何学好c++  22 1.4.1 将自然语言转换为c++程序设计语言  23 1.4.2 "多读多写"是学好c++的不二法门  24 1.4.3 和google做朋友  25  26 第2章 与c++第一次亲密接触  27 2.1 一个c++程序的自白  28 2.1.1 用visual studio创建c++程序  29 2.1.2 以手工方式创建c++程序  30 2.1.3 c++程序=预编译指令+程序代码+注释  31 2.1.4 编译器和链接器  32 2.1.5 c++程序的执行过程  33 2.1.6 程序的两大任务:描述数据与处理数据  34 2.2 基本输入/输出流  35 2.2.1 标准的输入和输出对象  36 2.2.2 输出格式控制  37 2.2.3 读/写文件  38 2.3 最常用的开发环境visual studio  39 2.3.1 visual c++的常用菜单  40 2.3.2 visual c++的常用视图  41 2.4 c++世界旅行必备的物品  42 2.4.1 编程助手visual assist  43 2.4.2 代码配置管理工具visual source safe  44 2.4.3 codeproject和codeguru  45 2.4.4 c++百科全书msdn  46  47  48 ------------------------------------------------ 49 第2篇 欢迎来到c++世界  50  51 第3章 c++世界众生相  52 3.1 c++中的数据类型  53 3.2 变量和常量  54 3.2.1 声明变量  55 3.2.2 给变量取个好名字  56 3.2.3 变量初始化  57 3.2.4 常量  58 3.2.5 用宏与const关键字定义常量  59 3.3 数值类型  60 3.3.1 整型数值类型  61 3.3.2 浮点型数值类型  62 3.4 布尔类型  63 3.5 字符串类型  64 3.5.1 字符类型  65 3.5.2 字符串类型  66 3.6 数组  67 3.6.1 数组的声明与初始化  68 3.6.2 数组的使用  69 3.7 枚举类型  70 3.8 用结构体类型描述复杂的事物  71 3.8.1 结构体的定义  72 3.8.2 结构体的使用  73 3.9 指向内存位置的指针  74 3.9.1 指针就是表示内存地址的数据类型  75 3.9.2 指针变量的定义  76 3.9.3 指针的赋值和使用  77  78 第4章 将语句编织成程序  79 4.1 用运算符对数据进行运算  80 4.1.1 用表达式表达设计意图  81 4.1.2 算术运算符  82 4.1.3 赋值操作符  83 4.1.4 关系运算符  84 4.1.5 逻辑运算符  85 4.1.6 运算符之间的优先顺序  86 4.1.7 将表达式组织成语句  87 4.2 条件选择语句  88 4.2.1 if语句  89 4.2.2 并列选择的switch语句  90 4.3 循环控制语句  91 4.3.1 while循环  92 4.3.2 do…while循环  93 4.3.3 for循环  94 4.3.4 循环控制:break和continue  95 4.4 从语句到程序  96 4.4.1 程序是控制语句串联起来的语句  97 4.4.2 豪华工资统计程序  98  99 第5章 用函数封装程序功能 100 5.1 函数就是一个大"箱子" 101 5.1.1 函数的声明和定义 102 5.1.2 函数调用机制 103 5.1.3 函数的声明与函数调用 104 5.1.4 函数参数的传递 105 5.1.5 函数的返回值 106 5.2 内联函数 107 5.2.1 用体积换速度的内联函数 108 5.2.2 内联函数的使用规则 109 5.3 重载函数 110 5.3.1 重载函数的声明 111 5.3.2 重载函数的解析 112 5.4 函数设计的基本规则 113 5.4.1 函数声明的设计规则 114 5.4.2 函数体的设计规则 115 116 第6章 当c++爱上面向对象 117 6.1 从结构化设计到面向对象程序设计 118 6.1.1 "自顶向下,逐步求精"的结构化程序设计 119 6.1.2 面向对象程序设计 120 6.1.3 面向对象的三座基石:封装、继承与多态 121 6.2 类:当c++爱上面向对象 122 6.2.1 类的声明和定义 123 6.2.2 使用类创建对象 124 6.2.3 构造函数和析构函数 125 6.2.4 拷贝构造函数 126 6.2.5 操作符重载 127 6.2.6 类成员的访问控制 128 6.2.7 在友元中访问类的隐藏信息 129 6.3 类如何面向对象 130 6.3.1 用类机制实现封装 131 6.3.2 用基类和派生类实现继承 132 6.3.3 用虚函数实现多态 133 6.4 实战面向对象:工资管理系统 134 6.4.1 从问题描述中发现对象 135 6.4.2 分析对象的属性和行为 136 6.4.3 实现类的属性和行为 137 6.5 高手是这样炼成的 138 6.5.1 c++类对象的内存模型 139 6.5.2 指向自身的this指针 140 141 第7章 c++世界的奇人异事 142 7.1 一切指针都是纸老虎:彻底理解指针 143 7.1.1 指针的运算 144 7.1.2 灵活的void类型和void类型指针 145 7.1.3 指向指针的指针 146 7.1.4 指针在函数中的应用 147 7.1.5 引用 148 7.2 程序中的异常处理 149 7.2.1 异常处理 150 7.2.2 异常的函数接口声明 151 7.2.3 合理使用异常处理 152 7.3 编写更复杂的c++程序 153 7.3.1 源文件和头文件 154 7.3.2 名字空间 155 7.3.3 作用域与可见性 156 7.3.4 编译预处理 157 7.4 高手是这样炼成的 158 7.4.1 用宏定义化繁为简 159 7.4.2 用typedef定义类型的别名 160 7.4.3 用const保护数据 161 162 163 ------------------------------------------------------164 第3篇 攀登c++世界的高峰 165 166 第8章 用stl优雅你的程序 167 8.1 跟stl做朋友 168 8.1.1 算法 + 容器 + 迭代器 = stl 169 8.1.2 在程序中使用stl 170 8.1.3 stl到底好在哪里 171 8.2 用模板实现通用算法 172 8.2.1 函数模板 173 8.2.2 类模板 174 8.2.3 模板的实例化 175 8.2.4 用模板实现通用算法 176 177 第9章 stl中的容器管理数据 178 9.1 容器就是stl中的瓶瓶罐罐 179 9.1.1 操作容器中的数据元素 180 9.1.2 使用迭代器访问容器中的数据元素 181 9.1.3 容器的使用说明书 182 9.1.4 如何选择合适的容器 183 9.2 vector容器是数组的最佳替代者 184 9.2.1 创建并初始化vector对象 185 9.2.2 vector容器的操作 186 9.2.3 访问vector容器中的数据 187 9.3 可以保存键值对的map容器 188 9.3.1 创建并初始化map容器 189 9.3.2 将数据保存到map容器中 190 9.3.3 根据键找到对应的值 191 192 第10章 用stl中的通用算法处理数据 193 10.1 stl算法中的"四大帮派" 194 10.2 容器元素的查找与遍历 195 10.2.1 用for_each()算法遍历容器中的数据元素 196 10.2.2 用find()和find_if()算法实现线性查找 197 10.3 容器元素的复制与变换 198 10.3.1 复制容器元素:copy()算法 199 10.3.2 合并容器元素:merge()算法 200 10.3.3 变换容器元素:transform函数 201 10.4 容器元素的排序 202 10.4.1 使用sort()算法对容器中的数据进行排序 203 10.4.2 对排序的规则进行自定义 204 10.5 实战stl算法 205 10.5.1 "算法"老师带来的一堂别开生面的体育课 206 10.5.2 删除容器中的冗余元素 207 208 第11章 函数指针、函数对象与lambda表达式 209 11.1 函数指针 210 11.1.1 函数指针的声明与赋值 211 11.1.2 用函数指针调用函数 212 11.1.3 用函数指针实现回调函数 213 11.1.4 将函数指针应用到stl算法中 214 11.2 函数对象 215 11.2.1 定义一个函数对象 216 11.2.2 利用函数对象记住状态数据 217 11.3 用lambda表达式编写更简单的函数 218 11.3.1 最简单直接的函数表达形式:lambda表达式 219 11.3.2 lambda表达式的语法规则 220 11.3.3 lambda表达式的复用 221 222 第12章 c++世界的几件新鲜事 223 12.1 用右值引用榨干c++的性能 224 12.1.1 什么是右值 225 12.1.2 右值引用在函数返回值上的应用 226 12.1.3 stl算法中被浪费的右值 227 12.1.4 右值引用如何提高性能 228 12.2 智能指针shared_ptr 229 12.2.1 c++的内存管理 230 12.2.2 用聪明的shared_ptr解决内存管理问题 231 12.2.3 智能指针的应用场景 232 12.2.4 shared_ptr的使用 233 12.2.5 shared_ptr与标准库容器 234 12.2.6 对shared_ptr进行自定义 235 12.3 用ppl进行多线程开发 236 12.3.1 多核给程序设计带来的挑战 237 12.3.2 ppl带来免费的午餐 238 12.3.3 ppl中的并行算法 239 12.3.4 ppl中的并行任务 240 12.3.5 ppl中的并行对象和并行容器 241 12.3.6 ppl之外的另一种选择:openmp 242 243 第13章 找工作就靠它了 244 13.1 打好基础 245 13.1.1 基本概念 246 13.1.2 函数 247 13.1.3 面向对象思想 248 13.1.4 类与对象 249 13.1.5 stl 250 13.2 积累经验 251 13.3 考查智力 252 附录a 接下来该读什么书 253 a.1 开山鼻祖:《c++程序设计语言》 254 a.2 初学者必看:《c++ primer中文版(第4版)》 255 a.3 百科全书:《代码大全,第2版》 256 a.4 内功秘籍:《effective c++(third edition)》 257 a.5 经验很重要:《c++编程规范》 258 259 后记260 261 */
总目录

 


 我的第一本C++书(游历C++世界的地图)

 

----第1篇 叩开c++世界的大门----

第1章 c++世界地图
第2章 与c++第一次亲密接触

----第2篇 欢迎来到c++世界----

第3章 c++世界众生相
第4章 将语句编织成程序
第5章 用函数封装程序功能
第6章 当c++爱上面向对象
第7章 c++世界的奇人异事

----第3篇 攀登c++世界的高峰----

第8章 用stl优雅你的程序
第9章 stl中的容器管理数据
第10章 用stl中的通用算法处理数据
第11章 函数指针、函数对象与lambda表达式
第12章 c++世界的几件新鲜事
第13章 找工作就靠它了

后记

 


第1篇 叩开c++世界的大门

 1 /* 2  3 第1章 c++世界地图  4 1.1 c++是什么  5 1.2 c++的前世今生  6 1.2.1 从b到c  7 1.2.2 从c到c++  8 1.2.3 从c++到.net framework的cli  9 1.2.4 最新标准c++0x让c++重新焕发活力 10 1.2.5 c++和c#不得不说的那点事儿 11 1.2.6 c++世界的五大子语言 12 1.3 c++世界版图 13 1.3.1 windows系统下的c++开发 14 1.3.2 linux系统下的c++开发 15 1.3.3 嵌入式系统下的c++开发 16 1.4 如何学好c++ 17 1.4.1 将自然语言转换为c++程序设计语言 18 1.4.2 "多读多写"是学好c++的不二法门 19 1.4.3 和google做朋友 20 21 第2章 与c++第一次亲密接触 22 2.1 一个c++程序的自白 23 2.1.1 用visual studio创建c++程序 24 2.1.2 以手工方式创建c++程序 25 2.1.3 c++程序=预编译指令+程序代码+注释 26 2.1.4 编译器和链接器 27 2.1.5 c++程序的执行过程 28 2.1.6 程序的两大任务:描述数据与处理数据 29 2.2 基本输入/输出流 30 2.2.1 标准的输入和输出对象 31 2.2.2 输出格式控制 32 2.2.3 读/写文件 33 2.3 最常用的开发环境visual studio 34 2.3.1 visual c++的常用菜单 35 2.3.2 visual c++的常用视图 36 2.4 c++世界旅行必备的物品 37 2.4.1 编程助手visual assist 38 2.4.2 代码配置管理工具visual source safe 39 2.4.3 codeproject和codeguru 40 2.4.4 c++百科全书msdn 41 42 */
第一篇

 

第2篇 欢迎来到c++世界

  1 /*   2   3 第3章 c++世界众生相   4 3.1 c++中的数据类型   5 3.2 变量和常量   6 3.2.1 声明变量   7 3.2.2 给变量取个好名字   8 3.2.3 变量初始化   9 3.2.4 常量  10 3.2.5 用宏与const关键字定义常量  11 3.3 数值类型  12 3.3.1 整型数值类型  13 3.3.2 浮点型数值类型  14 3.4 布尔类型  15 3.5 字符串类型  16 3.5.1 字符类型  17 3.5.2 字符串类型  18 3.6 数组  19 3.6.1 数组的声明与初始化  20 3.6.2 数组的使用  21 3.7 枚举类型  22 3.8 用结构体类型描述复杂的事物  23 3.8.1 结构体的定义  24 3.8.2 结构体的使用  25 3.9 指向内存位置的指针  26 3.9.1 指针就是表示内存地址的数据类型  27 3.9.2 指针变量的定义  28 3.9.3 指针的赋值和使用  29  30 第4章 将语句编织成程序  31 4.1 用运算符对数据进行运算  32 4.1.1 用表达式表达设计意图  33 4.1.2 算术运算符  34 4.1.3 赋值操作符  35 4.1.4 关系运算符  36 4.1.5 逻辑运算符  37 4.1.6 运算符之间的优先顺序  38 4.1.7 将表达式组织成语句  39 4.2 条件选择语句  40 4.2.1 if语句  41 4.2.2 并列选择的switch语句  42 4.3 循环控制语句  43 4.3.1 while循环  44 4.3.2 do…while循环  45 4.3.3 for循环  46 4.3.4 循环控制:break和continue  47 4.4 从语句到程序  48 4.4.1 程序是控制语句串联起来的语句  49 4.4.2 豪华工资统计程序  50  51 第5章 用函数封装程序功能  52 5.1 函数就是一个大"箱子"  53 5.1.1 函数的声明和定义  54 5.1.2 函数调用机制  55 5.1.3 函数的声明与函数调用  56 5.1.4 函数参数的传递  57 5.1.5 函数的返回值  58 5.2 内联函数  59 5.2.1 用体积换速度的内联函数  60 5.2.2 内联函数的使用规则  61 5.3 重载函数  62 5.3.1 重载函数的声明  63 5.3.2 重载函数的解析  64 5.4 函数设计的基本规则  65 5.4.1 函数声明的设计规则  66 5.4.2 函数体的设计规则  67  68 第6章 当c++爱上面向对象  69 6.1 从结构化设计到面向对象程序设计  70 6.1.1 "自顶向下,逐步求精"的结构化程序设计  71 6.1.2 面向对象程序设计  72 6.1.3 面向对象的三座基石:封装、继承与多态  73 6.2 类:当c++爱上面向对象  74 6.2.1 类的声明和定义  75 6.2.2 使用类创建对象  76 6.2.3 构造函数和析构函数  77 6.2.4 拷贝构造函数  78 6.2.5 操作符重载  79 6.2.6 类成员的访问控制  80 6.2.7 在友元中访问类的隐藏信息  81 6.3 类如何面向对象  82 6.3.1 用类机制实现封装  83 6.3.2 用基类和派生类实现继承  84 6.3.3 用虚函数实现多态  85 6.4 实战面向对象:工资管理系统  86 6.4.1 从问题描述中发现对象  87 6.4.2 分析对象的属性和行为  88 6.4.3 实现类的属性和行为  89 6.5 高手是这样炼成的  90 6.5.1 c++类对象的内存模型  91 6.5.2 指向自身的this指针  92  93 第7章 c++世界的奇人异事  94 7.1 一切指针都是纸老虎:彻底理解指针  95 7.1.1 指针的运算  96 7.1.2 灵活的void类型和void类型指针  97 7.1.3 指向指针的指针  98 7.1.4 指针在函数中的应用  99 7.1.5 引用 100 7.2 程序中的异常处理 101 7.2.1 异常处理 102 7.2.2 异常的函数接口声明 103 7.2.3 合理使用异常处理 104 7.3 编写更复杂的c++程序 105 7.3.1 源文件和头文件 106 7.3.2 名字空间 107 7.3.3 作用域与可见性 108 7.3.4 编译预处理 109 7.4 高手是这样炼成的 110 7.4.1 用宏定义化繁为简 111 7.4.2 用typedef定义类型的别名 112 7.4.3 用const保护数据 113 114 */
第二篇


第3篇 攀登c++世界的高峰

 1 /* 2  3 第8章 用stl优雅你的程序  4 8.1 跟stl做朋友  5 8.1.1 算法 + 容器 + 迭代器 = stl  6 8.1.2 在程序中使用stl  7 8.1.3 stl到底好在哪里  8 8.2 用模板实现通用算法  9 8.2.1 函数模板 10 8.2.2 类模板 11 8.2.3 模板的实例化 12 8.2.4 用模板实现通用算法 13 14 第9章 stl中的容器管理数据 15 9.1 容器就是stl中的瓶瓶罐罐 16 9.1.1 操作容器中的数据元素 17 9.1.2 使用迭代器访问容器中的数据元素 18 9.1.3 容器的使用说明书 19 9.1.4 如何选择合适的容器 20 9.2 vector容器是数组的最佳替代者 21 9.2.1 创建并初始化vector对象 22 9.2.2 vector容器的操作 23 9.2.3 访问vector容器中的数据 24 9.3 可以保存键值对的map容器 25 9.3.1 创建并初始化map容器 26 9.3.2 将数据保存到map容器中 27 9.3.3 根据键找到对应的值 28 29 第10章 用stl中的通用算法处理数据 30 10.1 stl算法中的"四大帮派" 31 10.2 容器元素的查找与遍历 32 10.2.1 用for_each()算法遍历容器中的数据元素 33 10.2.2 用find()和find_if()算法实现线性查找 34 10.3 容器元素的复制与变换 35 10.3.1 复制容器元素:copy()算法 36 10.3.2 合并容器元素:merge()算法 37 10.3.3 变换容器元素:transform函数 38 10.4 容器元素的排序 39 10.4.1 使用sort()算法对容器中的数据进行排序 40 10.4.2 对排序的规则进行自定义 41 10.5 实战stl算法 42 10.5.1 "算法"老师带来的一堂别开生面的体育课 43 10.5.2 删除容器中的冗余元素 44 45 第11章 函数指针、函数对象与lambda表达式 46 11.1 函数指针 47 11.1.1 函数指针的声明与赋值 48 11.1.2 用函数指针调用函数 49 11.1.3 用函数指针实现回调函数 50 11.1.4 将函数指针应用到stl算法中 51 11.2 函数对象 52 11.2.1 定义一个函数对象 53 11.2.2 利用函数对象记住状态数据 54 11.3 用lambda表达式编写更简单的函数 55 11.3.1 最简单直接的函数表达形式:lambda表达式 56 11.3.2 lambda表达式的语法规则 57 11.3.3 lambda表达式的复用 58 59 第12章 c++世界的几件新鲜事 60 12.1 用右值引用榨干c++的性能 61 12.1.1 什么是右值 62 12.1.2 右值引用在函数返回值上的应用 63 12.1.3 stl算法中被浪费的右值 64 12.1.4 右值引用如何提高性能 65 12.2 智能指针shared_ptr 66 12.2.1 c++的内存管理 67 12.2.2 用聪明的shared_ptr解决内存管理问题 68 12.2.3 智能指针的应用场景 69 12.2.4 shared_ptr的使用 70 12.2.5 shared_ptr与标准库容器 71 12.2.6 对shared_ptr进行自定义 72 12.3 用ppl进行多线程开发 73 12.3.1 多核给程序设计带来的挑战 74 12.3.2 ppl带来免费的午餐 75 12.3.3 ppl中的并行算法 76 12.3.4 ppl中的并行任务 77 12.3.5 ppl中的并行对象和并行容器 78 12.3.6 ppl之外的另一种选择:openmp 79 80 第13章 找工作就靠它了 81 13.1 打好基础 82 13.1.1 基本概念 83 13.1.2 函数 84 13.1.3 面向对象思想 85 13.1.4 类与对象 86 13.1.5 stl 87 13.2 积累经验 88 13.3 考查智力 89 90 */
第三篇

 

 

 


 

我的第一本C++书,目录