https://github.com/jerryym/cpp_template
函数模板与类模板
https://github.com/jerryym/cpp_template
Last synced: about 1 month ago
JSON representation
函数模板与类模板
- Host: GitHub
- URL: https://github.com/jerryym/cpp_template
- Owner: Jerryym
- Created: 2021-03-16T08:33:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-03-27T11:38:20.000Z (over 4 years ago)
- Last Synced: 2025-11-18T03:03:37.880Z (8 months ago)
- Language: C++
- Size: 521 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 函数模板与类模板
- 参数化多样性:将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象
### 函数模板
- 定义形式
```
template<模板参数表>
类型名 函数表(参数表)
{
函数体的定义
}
```
- 模板参数表
- class(或typename)标识符,指明可以接收一个类型参数
- "类型说明符"标识符,指明可以接收一个由"类型说明符"所规定类型的常量作为参数
- template<参数表>class标识符,指明可以接收一个类模板名作为参数
- 函数模板的使用形式与函数的区别
- 函数模板本省再编译时不生成任何目标代码,只有由模板生成的实例会生成目标代码
- 被多个源文件引用的函数模板,应当连同函数体一同放在头文件中,而不能像普通函数那样只将声明放在头文件中
- 函数指针只能指向模板的实例,不能指向模板本身
### 类模板
- 可以为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数、返回值或局部变量能去任意类型
- 语法形式
```
template<模板参数表>
class 类名
{
类成员声明
}
```
- 在类模板外定义成员函数,其语法形式
```
template<模板参数表>
类型名 类名<模板参数标识符列表>::函数名(参数表)
```