c++提高编程 1。模板

Posted 白米a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++提高编程 1。模板相关的知识,希望对你有一定的参考价值。

泛型编程和STL技术

1、模板

1.1模板的概念

模板就是建立通用的模具,大大提高复用性

模板不能直接使用,只是一个框架,也不是万能的

 

1.2函数模板

函数模板作用:

建立通用函数,其函数返回类型和形参类型可以不具体指定,用虚拟的类型来代表

语法:

template     <typename T>  

函数声明或定义

解释:

template---声明创建模板

typename---表明其后面的符号是一个数据类型,可用class代替

T---通用的数据类型,可用其他字符替换

案例:

template     <typename T> 

void mySwap(T &a,T &b)

{

  T temp=a;

  a=b;

  b=temp;

}

void test( )

{

       int a=10,b=10;

  mySwap(a,b);//1、自动类型推导

  mySwap<int>(a,b);//   2、显示指定类型

}

1.3.1类模板语法

1.3.2类模板与函数模板的区别

1.类模板没有自动类型推导方式

void test01()

{

//Person p("孙悟空",200);无法用自动类型推导

Person<string,int>p("孙悟空",200);

}

2.类模板在模板参数可以有默认参数

 

1.3.3类模板中的成员函数创建时间

类模板中的成员函数和普通类的成员函数创建时机不同:

1.普通类的成员函数一开始就创建

2.类模板的成员函数在调用创建

以上是关于c++提高编程 1。模板的主要内容,如果未能解决你的问题,请参考以下文章

C++提高编程模板 or 泛型

C++学习8-C++提高编程

C++黑马程序员 | c++教程从0到1入门编程笔记 | c++提高编程

C++提高编程C++全栈体系(十六)

C++提高编程-模板的概念

桌面端编程之通过C++的标准模板库代码快速提高编程能力