zoukankan      html  css  js  c++  java
  • c++||template

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

    //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

  • 相关阅读:
    爬取校花网的视频
    实现爬取图片
    MongoDB简介和安装
    WebSocket实现简易聊天室
    WEB service基础
    Flask之CBV,flash,Flask-Session,WTForms,DBUtils
    Flask之session,路由,配置,蓝图, before/after_request
    Flask之request,response,Jinja2
    Linux下的docker
    Linux下docker配置镜像加速后重启docker服务失败
  • 原文地址:https://www.cnblogs.com/EraserHead/p/7500916.html
Copyright © 2011-2022 走看看