C/C++教程

C++学习笔记 ()——模板STL

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!