C++学习笔记 ()——模板STL
2022/4/25 12:12:34
本文主要是介绍C++学习笔记 ()——模板STL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
主要针对c++泛型编程和STL技术
模板的特点:
- 模板可以直接使用,她只是一个框架
- 模板的通用并不是万能的
c++另一种编程思想称为:泛型编程,主要利用的技术就是模板
c++提供两种模板机制:函数模板 和 类模板
1.1、函数模板语法
函数模板作用:
建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表
语法:
template<typename T>
函数声明或定义
解释:
template —— 声明创建模板
typename ——表面其后面的符号是一种数据类型,可以用class代替
T —— 通用的数据类型 ,名称可以替换,通常为大小写字母
有两种方式使用函数模板:
隐士转换:
- mySwap(a, b);
显示转换:
- mySwap<int>(a, b);
eg:
#include <iostream>
using namespace std;
//函数模板
template<typename T> //声明一个模板,告诉编译器后面代码中紧跟着的T不要报错,T是一个通用的数据的数据类型
void mySwap(T &a, T &b)
{
T temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b = 29;
cout << "交换前:" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
//利用函数模板交换两个数的值
//有两种方式使用函数模板
//1.隐式转换
mySwap(a, b);
//2.显示转换
//告诉编译器传入的数据类型是整型
mySwap<int>(a, b);
cout << "交换后:" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
这篇关于C++学习笔记 ()——模板STL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16在电脑上怎么模拟手机的运行环境?-icode9专业技术文章分享
- 2024-11-16接收socket数据,莫名其妙socket就关闭了是怎么回事?-icode9专业技术文章分享
- 2024-11-16ts nightly是什么?-icode9专业技术文章分享
- 2024-11-16如何升级vscode版本?-icode9专业技术文章分享
- 2024-11-16如何设置vscode默认的node版本?-icode9专业技术文章分享
- 2024-11-16shell 如何创建一个文件夹?-icode9专业技术文章分享
- 2024-11-16useReducer案例详解:从零开始理解与应用
- 2024-11-15聊聊用LangChain4J构建聊天机器人的那些事儿
- 2024-11-15LangChain 和 LlamaIndex 在检索增强生成(RAG)中的大比拼:全面对比评测
- 2024-11-15平台工程不只是配置管理:超越CFEngine的方法