zoukankan      html  css  js  c++  java
  • 【C++笔记】C++函数模版与类模版

    以下内容仍在更新完善...

    函数模版

    代码示例:用于比较两个数大小的函数模版

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

    模版的定义从模版关键字template开始,后跟一个模版参数列表

    模版参数列表是一个用逗号分隔的一个或多个模版参数的列表,用<>包围。

    模版参数列表类似于函数参数列表,模版参数表示在类或函数定义中用到的类型或值。

    类模版

    代码示例:

    template <typename T> class A{
    
    public:
    
      typedef T value_type;
    
      //构造函数
    
      A();
    
      A(std::initializer_list<t> il);
    
      void push_back(const T &t)  { data->push_back(t) ;}
    
      void push_back(T &&t) {   data->push_back( std::move(t) ); }
    
      void pop_back();
    
      ......
    
    private:
    
      std::shared_ptr<std::vector<t>> data;
    
      ......
    
    }

    当要用A模版定义一个类型时,必须提供元素类型:

     A<int>  x;  //空的A<int>
    
     A<int>  y  = {0,1,2,3,4};   //含有5个元素的A<int>
  • 相关阅读:
    程序员掌握的单词汇总
    Django--基础补充
    C#入门概述
    python常用模块
    软件开发经验之谈
    p7.BTC-挖矿总结
    p6.BTC-挖矿难度
    p5.BTC-网络
    p4.BTC-实现
    p3.BTC-协议
  • 原文地址:https://www.cnblogs.com/Neko-YG/p/13337613.html
Copyright © 2011-2022 走看看