C++ primer目录

目录


第1章 快速入门


1.1  编写简单的C++程序
1.2 初窥输入/输出
1.2.1  标准输入与输出对象
1.2.2  一个使用IO库的程序
1.3 关于注释
1.4 控制结构
1.4.1  while语句
1.4.2  for 语句
1.4.3  if 语句
1.4.4  读入未知数目的输入
1.5  类的引入
1.5.1  Sales_item类
1.5.2  初窥成员函数
1.6  C++程序


小结
术语定义


第一部分 基本语言


第2章 变量和基本类型


2.1  基本内置类型
2.1.1 整型
2.1.2 浮点型
2.2 字面值常量
2.3 变量
2.3.1 什么是变量
2.3.2 变量名
2.3.3 定义对象
2.3.4 变量初始化规则
2.3.5 声明和定义
2.3.6 名字的作用域
2.3.7 在使用处定义变量
2.4  const 限定符
2.5 引用
2.6  Typedef名字
2.7 枚举
2.8 类类型
2.9 编写自已的头文件
2.9.1 设计自己的头文件
2.9.2 预处理器的简要介绍


小结
术语定义


第3章 标准库类型


3.1  命名空间的using声明
3.2  标准库string类型
3.2.1  string对象的定义和初始化
3.2.2  string对象的读写
3.2.3  string对象上的操作
3.2.4  string对象中字符的处理
3.3  标准库vector类型
3.3.1  vector对象的定义和初始化
3.3.2  vector对象上的操作
3.4  迭代器的引入
3.4.1  迭代器算术操作
3.5   标准库bitset类型
3.5.1  bitset对象的定义和初始化
3.5.2  bitset对象上的操作


小结
术语定义


第4章 数组和指针


4.1  数组
4.1.1 数组的定义和初始化
4.1.2 数组操作
4.2  指针的引入
4.2.1  什么是指针
4.2.2  指针的定义和初始化
4.2.3  指针操作
4.2.4  使用指针访问数组元素
4.2.5  指针和const限定符
4.3  C风格字符串
4.3.1  创建动态数组
4.3.2  新旧代码的兼容
4.4  多维数组


小结
术语定义


第5章 表达式


5.1  算术操作符
5.2  关系和逻辑操作符
5.3  位操作符
5.3.1  bitset对象或整型值的使用
5.3.2  将移位操作符用于IO
5.4  赋值操作符
5.4.1  赋值操作的右结合性
5.4.2  赋值操作具有低优先级
5.4.3  复合赋值操作符
5.5  自增和自减操作符
5.6  指针操作符
5.7  条件操作符
5.8  sizeof操作符
5.9  逗号操作符
5.10  复合表达式的求值
5.10.1  优先级
5.10.2  结合性
5.10.3  求值顺序
5.11  new和delete表达式
5.12  类型转换
5.12.1  何时发生隐式类型转换
5.12.2  算术转换
5.12.3  其他隐式转换
5.12.4  显式转换
5.12.5  何时需要强制转换
5.12.6  命名强制转换
5.12.7  旧式强制转换


小结
术语定义


第6章 语句


6.1  简单语句
6.2  声明语句
6.3  复合语句(块语句)
6.4  语句作用域
6.5  if语句
6.6  switch语句
6.6.1  使用switch
6.6.2  switch中的控制流
6.6.3  default标号
6.6.4  switch表达式与case标号
6.6.5  switch内部的变量定义
6.7  while语句
6.8  for循环语句
6.8.1  省略for语句头的某些部分
6.8.2  for语句头中的多个定义
6.9   do while语句
6.10  break语句
6.11  continue语句
6.12  goto语句
6.13  try块语句和异常处理
6.13.1  throw表达式
6.13.2  try块语句
6.13.3  标准异常
6.14  使用预处理器进行调试


小结
术语定义


第7章 函数


7.1 函数的定义
7.1.1 函数返回类型
7.1.2 函数形参表
7.2 参数传递
7.2.1 非引用形参
7.2.2 引用形参
7.2.3  vector和其他容器类型的形参
7.2.4 数组形参
7.2.5 传递给函数的数组的处理
7.2.6 主函数main:处理命令行选项
7.2.7 含有可变形参的函数
7.3  return语句
7.3.1 没有返回值的函数
7.3.2 具有返回值的函数
7.3.3 递归
7.4 函数声明
7.5 局部对象
7.5.1 自动对象
7.5.2 静态局部对象
7.6 内联函数
7.7 类成员函数
7.7.1 定义成员函数的函数体
7.7.2 在类外定义成员函数
7.7.3 编写Sales_item的构造函数
7.7.4 类代码文件的组织
7.8 重载函数
7.8.1 重载与作用域
7.8.2 函数匹配与实参转换
7.8.3 重载解析的三个步骤
7.8.4 实参类型转换
7.9 指向函数的指针


小结
术语定义


第8章 标准IO库


8.1 面向对象的标准库
8.2 条件状态
8.3 输出缓冲区的管理
8.4 文件的输入和输出
8.4.1文件流对象的使用
8.4.2 文件模式
8.4.3 一个打开并检查输入文件的程序
8.5 字符串流


小结
术语定义


第二部分 容器与算法


第9章 顺序容器


9.1 顺序容器的定义
9.1.1容器元素的初始化
9.1.2 容器内元素类型的约束
9.2 迭代器和迭代器范围
9.2.1 迭代器范围
9.2.2 使迭代器失效的容器操作
9.3 顺序容器的操作
9.3.1 容器定义的类型别名
9.3.2  begin和end成员
9.3.3 在顺序容器中添加元素
9.3.4 关系操作符
9.3.5 容器大小的操作
9.3.6 访问元素
9.3.7 删除元素
9.3.8 赋值和交换
9.4  vector容器的自增长
9.5 容器的选用
9.6 回顾string对象
9.6.1 构造string的其他方法
9.6.2 修改string的其他方法
9.6.3 只适用于string的操作
9.6.4  string的查找操作
9.6.5  string的比较
9.7 容器适配器
9.7.1 栈适配器
9.7.2 队列和优先级队列


小结
术语定义


第10章 关联容器


10.1 引言:pair类型
10.2 关联容器
10.3  map类型
10.3.1  map的定义
10.3.2  map定义的类型
10.3.3  map对象元素的添加
10.3.4  map对象下标的使用
10.3.5  map::insert的使用
10.3.6  map对象中元素的查找与获取
10.3.7  map对象中元素的删除
10.3.8  map对象的迭代
10.3.9 “单词转换”map对象
10.4  set类型
10.4.1  set对象的定义和使用
10.4.2  “单词排除”集合的构建
10.5  multimap和multiset类型
10.5.1元素的添加与删除
10.5.2 multimap或multiset对象中元素的查找
10.6 容器的使用:文本查询程序
10.6.1 查询程序的设计
10.6.2  TextQuery类
10.6.3  TextQuery类的使用
10.6.4  成员函数的编写


小结
术语定义


第11章 泛型算法


11.1 概述
11.2算法初窥
11.2.1 只读算法
11.2.2 写容器元素的算法
11.2.3 容器元素重新排序的算法
11.3迭代器回顾
11.3.1 迭代器的插入
11.3.2  iostream迭代器
11.3.3 反向迭代器
11.3.4 const迭代器
11.3.5 五种迭代器
11.4 泛型算法的结构
11.4.1 算法的形参模式
11.4.2 算法的命名约定
11.5 容器特有的算法


小结
术语定义


第三部分  类与数据抽象


第12章  类


12.1  类的定义和声明
12.1.1  类定义:扼要重述
12.1.2  数据抽象和封装
12.1.3  关于类定义的更多内容
12.1.4  类声明与类定义
12.1.5  类对象
12.2  隐含的this指针
12.3  类作用域
12.4  构造函数
12.4.1  构造函数初始化列表
12.4.2  默认实参与构造函数
12.4.3  默认构造函数
12.4.4  隐式的类-类型转换
12.4.5  类成员的显式初始化
12.5  友元
12.6  static类成员
12.6.1  static成员函数
12.6.2  static数据成员


小结
术语定义


第13章  复制控制


13.1 复制构造函数
13.1.1  合成的复制构造函数
13.1.2  定义自己的复制构造函数
13.1.3  防止复制
13.2  赋值操作符
13.3  析构函数
13.4  消息处理实例
13.5  管理指针成员
13.5.1  智能指针类的定义
13.5.2  值型类的定义


小结
术语定义


第14章  重载操作与转换


14.1  重载操作符的定义
14.1.1  重载操作符的设计
14.2  输入和输出操作符
14.2.1  输出操作符<<的重载
14.2.2  输入操作符>>的重载
14.3  算术操作符和关系操作符
14.3.1  相等操作符
14.3.2  关系操作符
14.4  赋值操作符
14.5  下标操作符
14.6  成员访问操作符
14.7  自增和自减操作符
14.8  调用操作符和函数对象
14.8.1  与标准库算法一起使用函数对象
14.8.2  标准库定义的函数对象
14.8.3  函数对象的函数适配器
14.9  转换与类类型
14.9.1  转换为什么有用
14.9.2  转换操作符
14.9.3  实参匹配和转换
14.9.4  重载确定和类实参
14.9.5  重载、转换和操作符


小结
术语定义


第四部分  面向对象编程与泛型编程


第15章  面向对象编程


15.1  OOP:概述
15.2  定义基类和派生类
15.2.1  基类的定义
15.2.2  protected成员
15.2.3  派生类
15.2.4  virtual与其他成员函数
15.2.5  公有、私有和受保护继承
15.2.6  友元关系与继承
15.2.7  继承与静态成员
15.3  转换与继承
15.3.1  派生类到基类的转换
15.3.2  基类到派生类的转换
15.4 构造函数和复制控制
15.4.1  基类构造函数和复制控制
15.4.2  派生类构造函数
15.4.3  复制控制和继承
15.4.4  虚析构函数
15.4.5  构造函数和析构函数的虚特性
15.5  继承层次中的类作用域
15.5.1  名字查找在编译时发生
15.5.2  名字冲突与继承
15.5.3  作用域与成员函数
15.5.4  虚函数与作用域
15.6  纯虚函数
15.7  容器与继承
15.8  句柄类与继承
15.8.1  指针型句柄
15.8.2  复制未知类型
15.8.3  句柄的使用
15.9  文本查询示例的回顾
15.9.1  面向对象的解决方案
15.9.2  值型句柄
15.9.3  Query_base类
15.9.4  Query句柄类
15.9.5  派生类
15.9.6  eval函数


小结
术语定义


第16章  模板与泛型编程


16.1  模板定义
16.1.1  函数模板的定义
16.1.2  类模板的定义
16.1.3  模板形参
16.1.4  模板类型形参
16.1.5  非类型模板形参
16.1.6  编写泛型程序
16.2  实例化
16.2.1  模板实参推断
16.2.2  函数模板的显式实参
16.3  模板编译模型
16.4  类模板成员
16.4.1  类模板成员函数
16.4.2  非类型形参的模板实参
16.4.3  类模板中的友元声明
16.4.4  Queue和QueueItem的友元声明
16.4.5  成员模板
16.4.6  完整的Queue类
16.4.7  类模板的static成员
16.5  一个泛型句柄类
16.5.1  定义句柄类
16.5.2  使用句柄
16.6  模板特化
16.6.1  函数模板的特化
16.6.2  类模板的特化
16.6.3  特化成员而不特化类
16.6.4  类模板的部分特化
16.7  重载与函数模板


小结
术语定义


第五部分  高级主题


第17章  用于大型程序的工具


17.1  异常处理
17.1.1  抛出类类型的异常
17.1.2  栈展开
17.1.3  捕获异常
17.1.4  重新抛出
17.1.5  捕获所有异常的处理者
17.1.6  函数try块与构造函数
17.1.7  异常类层次
17.1.8  自动资源释放
17.1.9  auto_ptr类
17.1.10  异常说明
17.1.11  函数指针的异常说明
17.2  命名空间
17.2.1  命名空间的定义
17.2.2  内嵌命名空间
17.2.3  未命名的命名空间
17.2.4  命名空间成员的使用
17.2.5  类、命名空间和作用域
17.2.6  重载与命名空间
17.2.7  命名空间与模板
17.3  多重继承与虚继承
17.3.1  多重继承
17.3.2  转换与多个基类
17.3.3  多重继承派生类的复制控制
17.3.4  多重继承下的类作用域
17.3.5  虚继承
17.3.6  虚基类的声明
17.3.7  特殊的初始化语义


小结
术语定义


第18章  特殊工具与技术


18.1  优化内存分配
18.1.1  C++中的内存分配
18.1.2  allocator类
18.1.3  operator new函数和operator delete函数
18.1.4  布局new表达式
18.1.5  显式析构函数的调用
18.1.6  类特定的new和delete
18.1.7  一个内存分配器基类
18.2  运行时的类型识别
18.2.1  dynamic_cast操作符
18.2.2  typeid操作符
18.2.3  RTTI的使用
18.2.4  type_info类
18.3  指向类成员的指针
18.3.1  成员指针的声明
18.3.2  类成员指针的使用
18.4  内嵌类
18.4.1  内嵌类的实现
18.4.2  内嵌类作用域中的名字查找
18.5  共用体:节省空间的类
18.6  局部类
18.7  内在的不可移植的特征
18.7.1  位域
18.7.2  volatile限定符
18.7.3  链接指令:extern "C"


小结
术语定义


附录A  标准库


索引
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值