模板是C++中泛型编程的基础。一个模板就是一个创建类或函数的蓝图或者说公式。我们先从模板的定义开始:
继续阅读“第16章 模板与泛型编程”
分类:C++ Primer 5th
第15章 面向对象程序设计
面向对象程序设计基于三个基本概念:数据抽象、继承和动态绑定,第七章介绍了数据抽象的知识,本章将介绍继承和动态绑定。
继续阅读“第15章 面向对象程序设计”
第14章 重载运算符与类型转换之类型转换
14.9 重载、类型转换与运算符
在7.5.4节中,我们看到由一个实参调用的非显式构造函数定义了一种隐式的类型转换,这种构造函数将实参类型的对象转换成类类型。
继续阅读“第14章 重载运算符与类型转换之类型转换”
第14章 重载运算符与类型转换之重载运算符
14.1 基本概念
重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成。和其他函数一样,重载的运算符也包含返回类型、参数列表以及
继续阅读“第14章 重载运算符与类型转换之重载运算符”
第13章 拷贝控制(下)
13.3 交换操作
除了定义拷贝控制成员,管理资源的类通常还定义了一个名为swap的函数。为了交换两个对象我们需要进行一次拷贝和两次赋值。
继续阅读“第13章 拷贝控制(下)”
第13章 拷贝控制(上)
当定义一个类时,我显示地或隐式地指定在此类型的对象拷贝、移动、赋值和销毁时做什么。一个类通过定义五种特殊的成员函数来控制这些操作,包括:拷贝构造函数
继续阅读“第13章 拷贝控制(上)”
第12章 动态内存
我们的程序到目前为止只使用过静态内存或栈内存。静态内存用来保存局部static对象、类static对象以及定义在任何函数之外的变量。栈内存用来保存定义在函数内的非
继续阅读“第12章 动态内存”
第11章 关联容器
关联容器支持高效的关键字查找和访问。两个主要的关联容器(associative-container)类型是map和set。标准库提供了8个关联容器,这8个容器间的不同体现在
继续阅读“第11章 关联容器”
第10章 泛型算法(下)
10.3 定制操作
很多算法都会比较输入序列中的元素。默认情况下,这类算法使用元素类型的<或==运算符完成比较。标准库还为这些算法定义了额外的版本,允许我们提供自己定义的
继续阅读“第10章 泛型算法(下)”
第10章 泛型算法(上)
顺序容器只定义了很少的操作,我们可以想象用户可能还希望做其他很多有用的操作:查找特定元素、替换或删除一个特定值、重排元素顺序等。标准库定义了一组泛型算法(generic algorithm)。
继续阅读“第10章 泛型算法(上)”