C/C++学习之模板

  模板极大的方便了程序员对代码的重用,用类型参数化,实现对代码的重用。

一、函数模板

1.模板函数的一般形式

     template <class 或 typename 关键字>

     函数的定义   {}

     例:

      template <typename T>

      T Max( T x, T y)

      {

           return (x>y)? x:y;

      }

2.调用函数模板

      ①.、可以通过显示调用      m=Max<int,int >(x,y);

      ②、可以通过隐式调用,因为编译器可以通过函数参数来推断出类模板参数

                       m=Max(x,y);

3.函数模板可以与一般函数进行重载。 


4.在函数模板中有非类型模板参数        

       template<typename type,  int    >

         函数定义{};

        使用非类型模板参数时,只能是整型,包含enum, 或者是指向外部链接的对象的指针。     

        也就是说 在函数编译期间你所使用的值要确定,且不会生成类。

         错误一、派生类到基类的类型转换不会考虑

         错误二、、单一数组的地址不可取。    Max<int *,&a[0]>(x,y);  ×

二、模板类和类模板

1.定义的一般形式

         templat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值