首页 > 编程语言 >C++ 模板

C++ 模板

时间:2022-12-14 21:11:33浏览次数:53  
标签:数据类型 C++ --- template 类型 mySwap 模板

函数模板基础

建立一个通用的函数,将函数返回值类型和形参类型不具体指定,用一个虚拟的类型来表示

template<typename T>
函数的声明和定义

template ---声明创建模板
typename ---表明其后面的符号是一种数据类型,可以用class代替
T --- 通用的数据类型,名称可以替换

测试例子:

template<class T>
void mySwap(T& a, T&b)
{
    T tmp = a;
    a = b;
    b = tmp;
}

void func()
{
    int a = 1, b = 2;

    mySwap(a, b); // 可直接推导出类型
    mySwap<int>(a, b); // 指定数据类型
}

模板注意事项:
一致的数据类型才可以使用
数据类型必须可以推导出才可以使用

自动类型推导
显示指定类型

标签:数据类型,C++,---,template,类型,mySwap,模板
From: https://www.cnblogs.com/pangd/p/16983545.html

相关文章

  • 模板层之标签、自定义模板语法、母版(模版)的继承与导入、模型层前期准备知识点、ORM常
    模板层之标签模板语法支持if判断(支持elif):{%if条件1(可以自己写也可以用传递过来的数据)%}<p>今天又是周三了</p>{%elif条件2(可以自己写也可以用传递过......
  • Django模板语法及常见ORM关键词
    昨日内容回顾路由分配将本来一层的路由匹配拆分成两层进行匹配,第一层由总路由进行匹配,分配给分路由匹配具体视图,这就是路由分类,通过路由分配可以更方便进行多人开发及......
  • django之模板层(templates)
    django之模板层(templates)模板语法简介模板语法是由后端处理的,我们一般使用render函数处理(视图层的函数,最终将处理好的html作HttpResponse返回出去)。模板层基本涉及三种......
  • VC++判断网络连接状态
    在开发中,需要判断是否有网络连接,实现函数如下:#include<Wininet.h>BOOLCMFCDemoDlg::DoHaveInternetConnection(){BOOLbRet=FALSE;//如果函数返回FALSE,则肯定......
  • <一>C++ STL
    STL(standardtemplatelibaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。通俗来说:STL就是将常见的......
  • c++类型萃取
    判断两个类型的关系#include<iostream>#include<type_traits>usingstd::cout;usingstd::endl;//is_sameisusedtojudgetwodatatypessameornotduringcompili......
  • C++ 通过 syscall 获取本线程 TID
    通过pthread_self及std::this_thread::getid函数获取的线程ID,跟使用top/htop命令呈现的线程ID不对应。通过如下代码获取跟top/htop一致的TID:#include<syscall.h>pi......
  • django模板之标签、继承、模型层之ORM常用关键字
    目录模板层之标签自定义过滤器、标签及inclusion_tag(了解)模板的继承与导入(重要)模型层之前期准备ORM常用关键字(重要)nullnull模板层之标签 {%if条件1(可以自己写也可以用......
  • C++ 如果设置日期 & 时间基础篇
        ......
  • django模板层
    内容概要模板层传值语法模板层语法-过滤器模板层标签语法模型层自定义标签、过滤器与inclusion_tag模型层模板继承与导入模板层传值语法"""django提供的模板语法......