码迷,mamicode.com
首页 > 编程语言 > 详细

c++||template

时间:2017-10-13 21:13:26      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:rate   inline   none   pen   space   int   pac   compare   color   

  模版作为类或函数的蓝图公式,通过定义产生任意数量特定类型的类,特定的类型体现多态性.

//template
#ifndef templateDemo_H
#define templateDemo_H
#include<iostream>

using namespace std;

template<class type>
int  compare(const T &v1,const T &v2 ){
    if(v1>v2){
        return 1;
    }else
  return -1;

} #endif

 

  1.模版形参表

    函数形参表定义了特定类型的局部变量但不初始化那些变量,在运行时提供实参来初始化形参.模版形参表示类型形参(type parameter),也可以表示非类型形参(nontype parameter),在使用函数模版时,编译器会判断哪个模版实参(template parameter)绑定到模版形参进行实例化.

  2inline version

 template <typename T> inline T min(const T&,const T&);

  

  3.typename 和class区别

    在形参表中具有相同含义可以同时使用,没有区别,typename在模版内部使用类中定义的类型成员,告知该成员当作类型

   

  4.模版编译模型

    模版进行实例化需要编译器能够访问源代码,定义了2种模型,一种为包涵另一种为分别编译

   4.1包含编译模型

    通过#include引入包含文件

   4.2分别编译模型(separate compilation model)

    跟踪相关的模版定义,使用export关键字来声明,

 

      

 

1

c++||template

标签:rate   inline   none   pen   space   int   pac   compare   color   

原文地址:http://www.cnblogs.com/EraserHead/p/7500916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!