An open API service indexing awesome lists of open source software.

https://github.com/jerryym/cpp_template

函数模板与类模板
https://github.com/jerryym/cpp_template

Last synced: about 1 month ago
JSON representation

函数模板与类模板

Awesome Lists containing this project

README

          

# 函数模板与类模板
- 参数化多样性:将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象

### 函数模板
- 定义形式

```
template<模板参数表>
类型名 函数表(参数表)
{
函数体的定义
}
```
- 模板参数表
- class(或typename)标识符,指明可以接收一个类型参数
- "类型说明符"标识符,指明可以接收一个由"类型说明符"所规定类型的常量作为参数
- template<参数表>class标识符,指明可以接收一个类模板名作为参数
- 函数模板的使用形式与函数的区别
- 函数模板本省再编译时不生成任何目标代码,只有由模板生成的实例会生成目标代码
- 被多个源文件引用的函数模板,应当连同函数体一同放在头文件中,而不能像普通函数那样只将声明放在头文件中
- 函数指针只能指向模板的实例,不能指向模板本身

### 类模板
- 可以为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数、返回值或局部变量能去任意类型
- 语法形式

```
template<模板参数表>
class 类名
{
类成员声明
}
```
- 在类模板外定义成员函数,其语法形式

```
template<模板参数表>
类型名 类名<模板参数标识符列表>::函数名(参数表)
```