C++基础-模板
2022/5/2 20:14:06
本文主要是介绍C++基础-模板,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
模板(不深挖哦,是最最浅的)
基本概念
模板就是建立通用的模具,大大提高复用性(类型参数化)
- 模板不能直接使用,它是一个框架
- 模板的通用不是万能的
函数模板
- C++另一种编程思想为泛型编程,主要是利用模板技术
语法
template<typename T> //声明模板<typename 数据类型名字> 函数声明或定义
- template:声明创建模板
- typename:表示T是一种数据类型
- T:一个数据类型的名字
例子
#include<iostream> using namespace std; void swapInt(int &a,int &b){ //普通的整型交换 int c; c = a; a = b; b = c; } template<typename T> //模板-整型交换 void mySwap(T &a,T &b){ T temp; temp = a; a = b; b =temp; } void test01(){ int a = 10; int b = 20; //两种方法来使用函数模板 //1.自动类型推导 mySwap(a,b); cout << a << b << endl; cout << "=====================" << endl; //2.显式指定类型 mySwap<int>(a,b); cout << a << b << endl; } int main(){ test01(); return 0; }
类模板
建立一个通用类,类中的成员 数据类型可以不具体规定,用一个虚拟的类型来代表
语法
template<typename T1,typename T2...> 类
例子
#include<iostream> #include<cstring> using namespace std; template<typename NameType,typename AgeType> // 类型一 类型二 class Person{ friend void test01(); private: NameType m_Name; //类型一 类型一的对象 AgeType m_Age; //类型二 类型二的对象 public: Person(NameType name,AgeType age){ m_Name = name; m_Age = age; } }; void test01(){ Person<string,int>p("Tom",18); //指明类型一是string;类型二是int cout << p.m_Name << '\t' << p.m_Age << endl; } int main(int argc, char** argv) { test01(); return 0; }
这篇关于C++基础-模板的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Nacos多环境配置学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos配置中心学习入门指南
- 2024-12-27Nacos配置中心学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos初识学习入门:轻松掌握服务发现与配置管理
- 2024-12-27Nacos初识学习入门:轻松掌握Nacos基础操作
- 2024-12-27Nacos多环境配置学习入门