高质量程序设计指南:—C++/C语言

高质量程序设计指南:—C++/C语言
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2007-05
版次: 1
ISBN: 9787121041143
定价: 39.80
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 394页
字数: 659千字
425人买过
  •   高质量程序设计是软件行业的薄弱环节,大部分企业只能大量的测试和改错来提高软件产品的质量,为此付出了高昂的代价。因此,如何让程序员熟练地掌握编程技术和编程规范,在开发过程中内建高质量代码,是IT企业面临的主要挑战之一。
      本书以轻松幽默的笔调向读者论述了高质量软件开发方法与C++/C编程规范。它是作者多年从事软件开发工作的经验总结。本书共17章,第1章到第4章重点介绍软件质量和基本的程序设计方法;第5章到第16章重点阐述C++/C编程风格、面向对象程序设计方法和一些技术专题;第17章阐述STL的原理和使用方法。
      本书第1版和第2版部分章节曾经在Imemet上广泛流传,被国内IT企业的不少软件开发人员采
      用本书的附录C《大学十年》是作者在网上发表的一个短篇传记,文中所描述的充满激情的学习和生活态度,感染了大批莘莘学子。
      本书的主要读者对象是IT企业的程序员和项目经理,以及大专院校的本科生和研究生。   林锐,1973年生。1990年至1996年,就读于西安电子科技大学,获硕士学位。1997年至2000年,就读于浙江大学计算机系,获博士学位。大学期间两度被评为中国百名跨世纪优秀大学生,1996年获电子工业部科技进步二等奖,1997年获首届中国大学生电脑大赛软件展示一等奖。2000年7月加入上海贝尔有限公司,从事软件工程和CMM的研究推广工作,2003年7月当选为Alcatel集团软件工程专家。2004年初创建上海漫索计算机科技有限公司(http://www.chinaspis.com),致力于创作适合国内企业需求的软件研发管理解决方案,包括方法论和软件产品。工作期间出版著作六部。 第1章高质量软件开发之道 1
    1.1软件质量基本概念 1
    1.1.1如何理解软件的质量 1
    1.1.2提高软件质量的基本方法 3
    1.1.3“零缺陷”理念 4
    1.2细说软件质量属性 4
    1.2.1正确性 4
    1.2.2健壮性 5
    1.2.3可靠性 5
    1.2.4性能 6
    1.2.5易用性 7
    1.2.6清晰性 7
    1.2.7安全性 7
    1.2.8可扩展性 8
    1.2.9兼容性 8
    1.2.10可移植性 8
    1.3人们关注的不仅仅是质量 9
    1.3.1质量、生产率和成本之间的关系 9
    1.3.2软件过程改进的基本概念 11
    1.4高质量软件开发的基本方法 13
    1.4.1建立软件过程规范 13
    1.4.2复用 15
    1.4.3分而治之 16
    1.4.4优化与折中 17
    1.4.5技术评审 18
    1.4.6测试 19
    1.4.7质量保证 21
    1.4.8改错 22
    1.5关于软件开发的一些常识和思考 24
    1.5.1有最好的编程语言吗 24
    1.5.2编程是一门艺术吗 24
    1.5.3编程时应该多使用技巧吗 24
    1.5.4换更快的计算机还是换更快的算法 25
    1.5.5错误是否应该分等级 25
    1.5.6一些错误的观念 25
    1.6小结 26
    第2章编程语言发展简史 27
    2.1编程语言大事记 27
    2.2Ada的故事 30
    2.3C/C++发展简史 31
    2.4Borland与Microsoft之争 32
    2.5Java阵营与Microsoft的较量 33
    2.6小结 36
    第3章程序的基本概念 37
    3.1程序设计语言 37
    3.2语言实现 38
    3.3程序库 40
    3.4开发环境 40
    3.5程序的工作原理 41
    3.6良好的编程习惯 42
    第4章C++/C程序设计入门 45
    4.1C++/C程序的基本概念 45
    4.1.1启动函数main() 45
    4.1.2命令行参数 47
    4.1.3内部名称 48
    4.1.4连接规范 49
    4.1.5变量及其初始化 51
    4.1.6CRuntimeLibrary 52
    4.1.7编译时和运行时的不同 52
    4.1.8编译单元和独立编译技术 54
    4.2基本数据类型和内存映像 54
    4.3类型转换 56
    4.3.1隐式转换 56
    4.3.2强制转换 58
    4.4标识符 60
    4.5转义序列 61
    4.6运算符 62
    4.7表达式 63
    4.8基本控制结构 65
    4.9选择(判断)结构 65
    4.9.1布尔变量与零值比较 66
    4.9.2整型变量与零值比较 67
    4.9.3浮点变量与零值比较 67
    4.9.4指针变量与零值比较 69
    4.9.5对if语句的补充说明 70
    4.9.6switch结构 70
    4.10循环(重复)结构 71
    4.10.1for语句的循环控制变量 72
    4.10.2循环语句的效率 73
    4.11结构化程序设计原理 78
    4.12goto/continue/break语句 79
    4.13示例 80
    第5章C++/C常量 85
    5.1认识常量 85
    5.1.1字面常量 85
    5.1.2符号常量 86
    5.1.3契约性常量 87
    5.1.4枚举常量 87
    5.2正确定义符号常量 87
    5.3const与#define的比较 88
    5.4类中的常量 89
    5.5实际应用中如何定义常量 90
    第6章C++/C函数设计基础 95
    6.1认识函数 95
    6.2函数原型和定义 96
    6.3函数调用方式 97
    6.4认识函数堆栈 99
    6.5函数调用规范 100
    6.6函数连接规范 101
    6.7参数传递规则 102
    6.8返回值的规则 104
    6.9函数内部实现的规则 107
    6.10存储类型及作用域规则 109
    6.10.1存储类型 109
    6.10.2作用域规则 110
    6.10.3连接类型 111
    6.11递归函数 113
    6.12使用断言 116

    6.13使用const提高函数的健壮性 118
    6.13.1用const修饰函数的参数 118
    6.13.2用const修饰函数的返回值 119
    第7章C++/C指针、数组和字符串 121
    7.1指针 121
    7.1.1指针的本质 121
    7.1.2指针的类型及其支持的运算 123
    7.1.3指针传递 125
    7.2数组 126
    7.2.1数组的本质 126
    7.2.2二维数组 128
    7.2.3数组传递 129
    7.2.4动态创建、初始化和删除数组的方法 131
    7.3字符数组、字符指针和字符串 133
    7.3.1字符数组、字符串和\0的关系 133
    7.3.2字符指针的误区 134
    7.3.3字符串拷贝和比较 134
    7.4函数指针 135
    7.5引用和指针的比较 137
    第8章C++/C高级数据类型 141
    8.1结构(Struct) 141
    8.1.1关键字struct与class的困惑 141
    8.1.2使用struct 142
    8.1.3位域 145
    8.1.4成员对齐 147
    8.2联合(Union) 159
    8.3枚举(Enum) 161
    8.4文件 163
    第9章C++/C编译预处理 165
    9.1文件包含 165
    9.1.1内部包含卫哨和外部包含卫哨 165
    9.1.2头文件包含的合理顺序 166
    9.2宏定义 166
    9.3条件编译 169
    9.3.1#if、#elif和#else 169
    9.3.2#ifdef和#ifndef 170
    9.4#error 171
    9.5#pragma 171
    9.6#和##运算符 171
    9.7预定义符号常量 172
    第10章C++/C文件结构和程序版式 175
    10.1程序文件的目录结构 175
    10.2文件的结构 176
    10.2.1头文件的用途和结构 176
    10.2.2版权和版本信息 177
    10.2.3源文件结构 178
    10.3代码的版式 178
    10.3.1适当的空行 178
    10.3.2代码行及行内空格 179
    10.3.3长行拆分 180
    10.3.4对齐与缩进 181
    10.3.5修饰符的位置 182
    10.3.6注释风格 182
    10.3.7ADT/UDT版式 183
    第11章C++/C应用程序命名规则 185
    11.1共性规则 185
    11.2简单的Windows应用程序命名 186
    第12章C++面向对象程序设计方法概述 189
    12.1漫谈面向对象 189
    12.2对象的概念 190
    12.3信息隐藏与类的封装 191
    12.4类的继承特性 195
    12.5类的组合特性 200
    12.6动态特性 201
    12.6.1虚函数 202
    12.6.2抽象基类 202
    12.6.3动态绑定 205
    12.6.4运行时多态 207
    12.6.5多态数组 208
    12.7C++对象模型 215
    12.7.1对象的内存映像 215
    12.7.2隐含成员 224
    12.7.3C++编译器如何处理成员函数 225
    12.7.4C++编译器如何处理静态成员 225
    12.8小结 226
    第13章对象的初始化、拷贝和析构 229
    13.1构造函数与析构函数的起源 229
    13.2为什么需要构造函数和析构函数 230
    13.3构造函数的成员初始化列表 232
    13.4对象的构造和析构次序 234
    13.5构造函数和析构函数的调用时机 235
    13.6构造函数和赋值函数的重载 236
    13.7示例:类String的构造函数和析构函数 238
    13.8何时应该定义拷贝构造函数和拷贝赋值函数 239
    13.9示例:类String的拷贝构造函数和拷贝赋值函数 240
    13.10用偷懒的办法处理拷贝构造函数和拷贝赋值函数 242
    13.11如何实现派生类的基本函数 243

    第14章C++函数的高级特性 247
    14.1函数重载的概念 247
    14.1.1重载的起源 247
    14.1.2重载是如何实现的 247
    14.1.3当心隐式类型转换导致重载函数产生二义性 249
    14.2成员函数的重载、覆盖与隐藏 250
    14.2.1重载与覆盖 250
    14.2.2令人迷惑的隐藏规则 251
    14.2.3摆脱隐藏 253
    14.3参数的默认值 254
    14.4运算符重载 255
    14.4.1基本概念 255
    14.4.2运算符重载的特殊性 256
    14.4.3不能重载的运算符 257
    14.4.4重载++和—— 257
    14.5函数内联 259
    14.5.1用函数内联取代宏 259
    14.5.2内联函数的编程风格 260
    14.5.3慎用内联 261
    14.6类型转换函数 261
    14.7const成员函数 264
    第15章C++异常处理和RTTI 267
    15.1为什么要使用异常处理 267
    15.2C++异常处理 268
    15.2.1异常处理的原理 268
    15.2.2异常类型和异常对象 269
    15.2.3异常处理的语法结构 270
    15.2.4异常的类型匹配规则 272
    15.2.5异常说明及其冲突 272
    15.2.6当异常抛出时局部对象如何释放 273
    15.2.7对象构造和析构期间的异常 273
    15.2.8如何使用好异常处理技术 275
    15.2.9C++的标准异常 278
    15.3虚函数面临的难题 278
    15.4RTTI及其构成 280
    15.4.1起源 280
    15.4.2typeid运算符 281
    15.4.3dynamic_cast运算符 283
    15.4.4RTTI的魅力与代价 285
    第16章内存管理 287
    16.1内存分配方式 287
    16.2常见的内存错误及其对策 288
    16.3指针参数是如何传递内存的 289
    16.4free和delete把指针怎么啦 291
    16.5动态内存会被自动释放吗 292
    16.6杜绝“野指针” 292
    16.7有了malloc/free为什么还要new/delete 293
    16.8malloc/free的使用要点 295
    16.9new有3种使用方式 296
    16.9.1plainnew/delete 296
    16.9.2nothrownew/delete 297
    16.9.3placementnew/delete 297
    16.10new/delete的使用要点 300
    16.11内存耗尽怎么办 301
    16.12用对象模拟指针 302
    16.13泛型指针auto_ptr 305
    16.14带有引用计数的智能指针 306
    16.15智能指针作为容器元素 310
    第17章学习和使用STL 323
    17.1STL简介 323
    17.2STL头文件的分布 324
    17.2.1容器类 324
    17.2.2泛型算法 325
    17.2.3迭代器 325
    17.2.4数学运算库 325
    17.2.5通用工具 325
    17.2.6其他头文件 326
    17.3容器设计原理 326
    17.3.1内存映像 326
    17.3.2存储方式和访问方式 327
    17.3.3顺序容器和关联式容器的比较 328
    17.3.4如何遍历容器 331
    17.3.5存储空间重分配问题 332
    17.3.6什么样的对象才能作为STL容器的元素 333
    17.4迭代器 334
    17.4.1迭代器的本质 334
    17.4.2迭代器失效及其危险性 338
    17.5存储分配器 346
    17.6适配器 347
    17.7泛型算法 350
    17.8一些特殊的容器 354
    17.8.1string类 354
    17.8.2bitset并非set 355
    17.8.3节省存储空间的vector 357
    17.8.4空容器 358
    17.9STL容器特征总结 360
    17.10STL使用心得 362
    附录AC++/C试题 365
    附录BC++/C试题答案与
    评分标准 369
    附录C大学十年 375
    附录D《大学十年》后记 393
    附录E术语与缩写解释 395
    参考文献 397
  • 内容简介:
      高质量程序设计是软件行业的薄弱环节,大部分企业只能大量的测试和改错来提高软件产品的质量,为此付出了高昂的代价。因此,如何让程序员熟练地掌握编程技术和编程规范,在开发过程中内建高质量代码,是IT企业面临的主要挑战之一。
      本书以轻松幽默的笔调向读者论述了高质量软件开发方法与C++/C编程规范。它是作者多年从事软件开发工作的经验总结。本书共17章,第1章到第4章重点介绍软件质量和基本的程序设计方法;第5章到第16章重点阐述C++/C编程风格、面向对象程序设计方法和一些技术专题;第17章阐述STL的原理和使用方法。
      本书第1版和第2版部分章节曾经在Imemet上广泛流传,被国内IT企业的不少软件开发人员采
      用本书的附录C《大学十年》是作者在网上发表的一个短篇传记,文中所描述的充满激情的学习和生活态度,感染了大批莘莘学子。
      本书的主要读者对象是IT企业的程序员和项目经理,以及大专院校的本科生和研究生。
  • 作者简介:
      林锐,1973年生。1990年至1996年,就读于西安电子科技大学,获硕士学位。1997年至2000年,就读于浙江大学计算机系,获博士学位。大学期间两度被评为中国百名跨世纪优秀大学生,1996年获电子工业部科技进步二等奖,1997年获首届中国大学生电脑大赛软件展示一等奖。2000年7月加入上海贝尔有限公司,从事软件工程和CMM的研究推广工作,2003年7月当选为Alcatel集团软件工程专家。2004年初创建上海漫索计算机科技有限公司(http://www.chinaspis.com),致力于创作适合国内企业需求的软件研发管理解决方案,包括方法论和软件产品。工作期间出版著作六部。
  • 目录:
    第1章高质量软件开发之道 1
    1.1软件质量基本概念 1
    1.1.1如何理解软件的质量 1
    1.1.2提高软件质量的基本方法 3
    1.1.3“零缺陷”理念 4
    1.2细说软件质量属性 4
    1.2.1正确性 4
    1.2.2健壮性 5
    1.2.3可靠性 5
    1.2.4性能 6
    1.2.5易用性 7
    1.2.6清晰性 7
    1.2.7安全性 7
    1.2.8可扩展性 8
    1.2.9兼容性 8
    1.2.10可移植性 8
    1.3人们关注的不仅仅是质量 9
    1.3.1质量、生产率和成本之间的关系 9
    1.3.2软件过程改进的基本概念 11
    1.4高质量软件开发的基本方法 13
    1.4.1建立软件过程规范 13
    1.4.2复用 15
    1.4.3分而治之 16
    1.4.4优化与折中 17
    1.4.5技术评审 18
    1.4.6测试 19
    1.4.7质量保证 21
    1.4.8改错 22
    1.5关于软件开发的一些常识和思考 24
    1.5.1有最好的编程语言吗 24
    1.5.2编程是一门艺术吗 24
    1.5.3编程时应该多使用技巧吗 24
    1.5.4换更快的计算机还是换更快的算法 25
    1.5.5错误是否应该分等级 25
    1.5.6一些错误的观念 25
    1.6小结 26
    第2章编程语言发展简史 27
    2.1编程语言大事记 27
    2.2Ada的故事 30
    2.3C/C++发展简史 31
    2.4Borland与Microsoft之争 32
    2.5Java阵营与Microsoft的较量 33
    2.6小结 36
    第3章程序的基本概念 37
    3.1程序设计语言 37
    3.2语言实现 38
    3.3程序库 40
    3.4开发环境 40
    3.5程序的工作原理 41
    3.6良好的编程习惯 42
    第4章C++/C程序设计入门 45
    4.1C++/C程序的基本概念 45
    4.1.1启动函数main() 45
    4.1.2命令行参数 47
    4.1.3内部名称 48
    4.1.4连接规范 49
    4.1.5变量及其初始化 51
    4.1.6CRuntimeLibrary 52
    4.1.7编译时和运行时的不同 52
    4.1.8编译单元和独立编译技术 54
    4.2基本数据类型和内存映像 54
    4.3类型转换 56
    4.3.1隐式转换 56
    4.3.2强制转换 58
    4.4标识符 60
    4.5转义序列 61
    4.6运算符 62
    4.7表达式 63
    4.8基本控制结构 65
    4.9选择(判断)结构 65
    4.9.1布尔变量与零值比较 66
    4.9.2整型变量与零值比较 67
    4.9.3浮点变量与零值比较 67
    4.9.4指针变量与零值比较 69
    4.9.5对if语句的补充说明 70
    4.9.6switch结构 70
    4.10循环(重复)结构 71
    4.10.1for语句的循环控制变量 72
    4.10.2循环语句的效率 73
    4.11结构化程序设计原理 78
    4.12goto/continue/break语句 79
    4.13示例 80
    第5章C++/C常量 85
    5.1认识常量 85
    5.1.1字面常量 85
    5.1.2符号常量 86
    5.1.3契约性常量 87
    5.1.4枚举常量 87
    5.2正确定义符号常量 87
    5.3const与#define的比较 88
    5.4类中的常量 89
    5.5实际应用中如何定义常量 90
    第6章C++/C函数设计基础 95
    6.1认识函数 95
    6.2函数原型和定义 96
    6.3函数调用方式 97
    6.4认识函数堆栈 99
    6.5函数调用规范 100
    6.6函数连接规范 101
    6.7参数传递规则 102
    6.8返回值的规则 104
    6.9函数内部实现的规则 107
    6.10存储类型及作用域规则 109
    6.10.1存储类型 109
    6.10.2作用域规则 110
    6.10.3连接类型 111
    6.11递归函数 113
    6.12使用断言 116

    6.13使用const提高函数的健壮性 118
    6.13.1用const修饰函数的参数 118
    6.13.2用const修饰函数的返回值 119
    第7章C++/C指针、数组和字符串 121
    7.1指针 121
    7.1.1指针的本质 121
    7.1.2指针的类型及其支持的运算 123
    7.1.3指针传递 125
    7.2数组 126
    7.2.1数组的本质 126
    7.2.2二维数组 128
    7.2.3数组传递 129
    7.2.4动态创建、初始化和删除数组的方法 131
    7.3字符数组、字符指针和字符串 133
    7.3.1字符数组、字符串和\0的关系 133
    7.3.2字符指针的误区 134
    7.3.3字符串拷贝和比较 134
    7.4函数指针 135
    7.5引用和指针的比较 137
    第8章C++/C高级数据类型 141
    8.1结构(Struct) 141
    8.1.1关键字struct与class的困惑 141
    8.1.2使用struct 142
    8.1.3位域 145
    8.1.4成员对齐 147
    8.2联合(Union) 159
    8.3枚举(Enum) 161
    8.4文件 163
    第9章C++/C编译预处理 165
    9.1文件包含 165
    9.1.1内部包含卫哨和外部包含卫哨 165
    9.1.2头文件包含的合理顺序 166
    9.2宏定义 166
    9.3条件编译 169
    9.3.1#if、#elif和#else 169
    9.3.2#ifdef和#ifndef 170
    9.4#error 171
    9.5#pragma 171
    9.6#和##运算符 171
    9.7预定义符号常量 172
    第10章C++/C文件结构和程序版式 175
    10.1程序文件的目录结构 175
    10.2文件的结构 176
    10.2.1头文件的用途和结构 176
    10.2.2版权和版本信息 177
    10.2.3源文件结构 178
    10.3代码的版式 178
    10.3.1适当的空行 178
    10.3.2代码行及行内空格 179
    10.3.3长行拆分 180
    10.3.4对齐与缩进 181
    10.3.5修饰符的位置 182
    10.3.6注释风格 182
    10.3.7ADT/UDT版式 183
    第11章C++/C应用程序命名规则 185
    11.1共性规则 185
    11.2简单的Windows应用程序命名 186
    第12章C++面向对象程序设计方法概述 189
    12.1漫谈面向对象 189
    12.2对象的概念 190
    12.3信息隐藏与类的封装 191
    12.4类的继承特性 195
    12.5类的组合特性 200
    12.6动态特性 201
    12.6.1虚函数 202
    12.6.2抽象基类 202
    12.6.3动态绑定 205
    12.6.4运行时多态 207
    12.6.5多态数组 208
    12.7C++对象模型 215
    12.7.1对象的内存映像 215
    12.7.2隐含成员 224
    12.7.3C++编译器如何处理成员函数 225
    12.7.4C++编译器如何处理静态成员 225
    12.8小结 226
    第13章对象的初始化、拷贝和析构 229
    13.1构造函数与析构函数的起源 229
    13.2为什么需要构造函数和析构函数 230
    13.3构造函数的成员初始化列表 232
    13.4对象的构造和析构次序 234
    13.5构造函数和析构函数的调用时机 235
    13.6构造函数和赋值函数的重载 236
    13.7示例:类String的构造函数和析构函数 238
    13.8何时应该定义拷贝构造函数和拷贝赋值函数 239
    13.9示例:类String的拷贝构造函数和拷贝赋值函数 240
    13.10用偷懒的办法处理拷贝构造函数和拷贝赋值函数 242
    13.11如何实现派生类的基本函数 243

    第14章C++函数的高级特性 247
    14.1函数重载的概念 247
    14.1.1重载的起源 247
    14.1.2重载是如何实现的 247
    14.1.3当心隐式类型转换导致重载函数产生二义性 249
    14.2成员函数的重载、覆盖与隐藏 250
    14.2.1重载与覆盖 250
    14.2.2令人迷惑的隐藏规则 251
    14.2.3摆脱隐藏 253
    14.3参数的默认值 254
    14.4运算符重载 255
    14.4.1基本概念 255
    14.4.2运算符重载的特殊性 256
    14.4.3不能重载的运算符 257
    14.4.4重载++和—— 257
    14.5函数内联 259
    14.5.1用函数内联取代宏 259
    14.5.2内联函数的编程风格 260
    14.5.3慎用内联 261
    14.6类型转换函数 261
    14.7const成员函数 264
    第15章C++异常处理和RTTI 267
    15.1为什么要使用异常处理 267
    15.2C++异常处理 268
    15.2.1异常处理的原理 268
    15.2.2异常类型和异常对象 269
    15.2.3异常处理的语法结构 270
    15.2.4异常的类型匹配规则 272
    15.2.5异常说明及其冲突 272
    15.2.6当异常抛出时局部对象如何释放 273
    15.2.7对象构造和析构期间的异常 273
    15.2.8如何使用好异常处理技术 275
    15.2.9C++的标准异常 278
    15.3虚函数面临的难题 278
    15.4RTTI及其构成 280
    15.4.1起源 280
    15.4.2typeid运算符 281
    15.4.3dynamic_cast运算符 283
    15.4.4RTTI的魅力与代价 285
    第16章内存管理 287
    16.1内存分配方式 287
    16.2常见的内存错误及其对策 288
    16.3指针参数是如何传递内存的 289
    16.4free和delete把指针怎么啦 291
    16.5动态内存会被自动释放吗 292
    16.6杜绝“野指针” 292
    16.7有了malloc/free为什么还要new/delete 293
    16.8malloc/free的使用要点 295
    16.9new有3种使用方式 296
    16.9.1plainnew/delete 296
    16.9.2nothrownew/delete 297
    16.9.3placementnew/delete 297
    16.10new/delete的使用要点 300
    16.11内存耗尽怎么办 301
    16.12用对象模拟指针 302
    16.13泛型指针auto_ptr 305
    16.14带有引用计数的智能指针 306
    16.15智能指针作为容器元素 310
    第17章学习和使用STL 323
    17.1STL简介 323
    17.2STL头文件的分布 324
    17.2.1容器类 324
    17.2.2泛型算法 325
    17.2.3迭代器 325
    17.2.4数学运算库 325
    17.2.5通用工具 325
    17.2.6其他头文件 326
    17.3容器设计原理 326
    17.3.1内存映像 326
    17.3.2存储方式和访问方式 327
    17.3.3顺序容器和关联式容器的比较 328
    17.3.4如何遍历容器 331
    17.3.5存储空间重分配问题 332
    17.3.6什么样的对象才能作为STL容器的元素 333
    17.4迭代器 334
    17.4.1迭代器的本质 334
    17.4.2迭代器失效及其危险性 338
    17.5存储分配器 346
    17.6适配器 347
    17.7泛型算法 350
    17.8一些特殊的容器 354
    17.8.1string类 354
    17.8.2bitset并非set 355
    17.8.3节省存储空间的vector 357
    17.8.4空容器 358
    17.9STL容器特征总结 360
    17.10STL使用心得 362
    附录AC++/C试题 365
    附录BC++/C试题答案与
    评分标准 369
    附录C大学十年 375
    附录D《大学十年》后记 393
    附录E术语与缩写解释 395
    参考文献 397
查看详情
12
相关图书 / 更多
高质量程序设计指南:—C++/C语言
高质量软件构建方法与实践
王杰 著;董昕;梁艳
高质量程序设计指南:—C++/C语言
高质量发展视域下中国能源效率问题研究
欧阳晓灵 著
高质量程序设计指南:—C++/C语言
高质量发展阶段西部县域农业特色产业竞争力提升研究
王静;李德铭
高质量程序设计指南:—C++/C语言
高质量需求(英文限量版)
坎黛西·霍坎森(Candase Hokanson) 著;[美]卡尔·魏格斯(Karl Wiegers)
高质量程序设计指南:—C++/C语言
高质量脱贫的政治经济学
贺立龙 著
高质量程序设计指南:—C++/C语言
高质量亲子关系:做孩子最好的朋友
杨丽霞
高质量程序设计指南:—C++/C语言
高质量推进乡村振兴:理论研究与江西实践
郑瑞强,张宜红,陈洋庚
高质量程序设计指南:—C++/C语言
高质量发展如何看怎样干:人民日报记者调研行
人民日报社 编
高质量程序设计指南:—C++/C语言
高质量陪伴:每天10分钟,陪孩子玩出好体力
陈晓群
高质量程序设计指南:—C++/C语言
高质量发展背景下绿色金融发展研究
赵朝霞;陈红英;熊萍
高质量程序设计指南:—C++/C语言
高质量发展的湖北实践与探索
赵霞 著
高质量程序设计指南:—C++/C语言
高质量发展如何铸就——新时代企业党建典型案例
岳奎
您可能感兴趣 / 更多
高质量程序设计指南:—C++/C语言
互联网+幼儿园管理
林锐、夏娟、李江博  著
高质量程序设计指南:—C++/C语言
研发企业管理:思想、方法、流程和工具
林锐、彭韧 著
高质量程序设计指南:—C++/C语言
高质量程序设计指南:C++/C语言
林锐、韩永泉 著