显示实例化和显示具体化

2023-11-02

struct man{
    int age;
    double salary;
};
//显示具体化,指定模板函数中类型,意思是不要使用swap模板来生成函数定义,而是要使用专门为job类型显示定义的函数定义
//因为job是一个结构体,所以swap不可能是直接的利用临时变量做赋值,因此需要在这个函数中重新定义swap的方法,在调用的时候需要使用显示具体化,不要用swap模板来生成函数定义,而是使用我么自己写的方法
tempalte <> void swap<man>(man &m1,man &m2);

//显示实例化,可以直接命令编译器创建特定的实例
//因为int类型可以使用模板中定义的临时变量做赋值来实现,所以可以使用模板函数定义的方法,只是让编译器创建特定类型的就行了,比如int、double...
template void swap<int>(int &,int &);

template <typename T>
void swap(T &t1,T &t2){
    T tmp;
    tmp = t1;
    t1 = t2;
    t2 = tmp;
}

template <> void swap<man>(man &m1,man &m2){

    int age_tmp;
    double salary_tmp;
    age_tmp = m1.age;
    m1.age = m2.age;
    //.....不写了.....
}

一码胜千言。。。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示实例化和显示具体化 的相关文章

  • 微信扫码登录功能实现

    原因 很简单 公司的账号登录需要用到微信扫码登录与QQ的登录功能 所以 在做好了微信的扫码登录之后 本人就写这篇微信扫码登录功能实现的教程 教程开始 需要用到的网站 https open weixin qq com 微信开放平台 https
  • 【软考】-高项-沟通管理-子过程ITTO记忆技巧

    沟通管理 贵关键 文章目录 沟通管理 贵关键 规划沟通管理 1 记忆口诀 2 记忆故事 3 输入 工具技术 输出选择理由 管理沟通 1 记忆口诀 2 记忆故事 3 输入 工具技术 输出选择理由 监督沟通 1 记忆口诀 2 记忆故事 3 输入
  • 打不开磁盘“E:\Virtual Machines\CentOS 7 64 位\CentOS 7 64 位-000003.vmdk”或它所依赖的某个快照磁盘。

    vmware下启动Centos虚拟机报错虚拟无法打开磁盘 打不开磁盘 E Virtual Machines CentOS 7 64 位 CentOS 7 64 位 000003 vmdk 或它所依赖的某个快照磁盘 或它所依赖的某个快照磁盘
  • 【Android动画渲染及混合模式】

    Android动画渲染及混合模式 public class GradientLayout extends View private Paint mPaint private Shader mShader private Bitmap mBi
  • CSMA/CD工作原理

    CSMA CD就是载波监听多点接入 碰撞检测 CSMA CD工作原理可以概括如下 1 先听后说 边听边说 2 一旦冲突 立即停说 3 等待时机 然后再说 在发送数据前 先监听总线是否空闲 若总线忙 则不发送 若总线空闲 则把准备好的数据发送
  • Java打印变量的参数类型

    具体方法如下 public static String getType Object o if ObjectUtils isEmpty o return 当前参数为空 else return o getClass toString 测试案例
  • 如何判断是字符型注入还是整形注入

    1 数字型注入 当输入的参数为整形时 如果存在注入漏洞 可以认为是数字型注入 测试步骤 1 加单引号 URL www text com text php id 3 对应的sql select from table where id 3 这时
  • UITabBarController使用

    文章目的 如何用纯代码的方式创建UITabBarController 方法 1 首先开启XCode并建立一个Empty Application 2 加入一个Objective C Class并继承自UIViewController 取名为F
  • 硬件模块化开发的例子:LD3320语音模块与Source Insight的使用

    目录 硬件模块化开发的行情 LD3320语音模块使用手册介绍 语音模块验货测试 硬件连接效果图 测试结果良好 Source Insight代码查看器 创建工程 修改字体 配色方案 中文乱码 关联代码 语音识别模块代码分析 语音识别模块二次开
  • day 33 css

    day 33 css 基本选择器 1 元素选择器 p color red 2 ID选择器 i1 background color red 3 类选择器 复制代码 c1 font size 14px p c1 color red 复制代码 注
  • uniCloud 云函数/云对象 node版本改变成12或18解决方案

    爆红信息 right hand side of instanceof is not an object 今天卡到一个本地跑好好的云对象部署云端直接报错了 原因是这样的 1 你去看看你云函数依赖那npm install的插件node版本是不是
  • kyocera client tool 安装_使用官方gdc-client软件下载TCGA数据

    要是有gdc client软件下载数据 需要以下三步才能完成 1 GDC筛选检索下载需要数据的Manifest文件 TCGA改版后 下载方式变得大为不同 数据都整合在GDC Genomic Data Commons 的DATA PORTAL
  • 牛客网试题+答案分析+大牛面试经验(3)

    1 串的长度是指 A 串中所含不同字母的个数 B 串中所含字符的个数 C 串中所含不同字符的个数 D 串中所含非空格字符的个数 答案 B 解析 串的长度定义为串中字符的数目 所以选项B为正确答案 选项C不正确 因为串中可以含有相同的字符 选
  • plt绘制3D渐变填充柱状图

    from mpl toolkits mplot3d import Axes3D import matplotlib pyplot as plt import matplotlib colors import numpy as np def
  • 四种常见Bug类型

    1 粗心 pwd input 请输入密码 if pwd 520666 print 正确 这是验证用户密码的代码 如果你把它放进运行 会报如下错误 找一下这段代码错误 修改代码让它成功运行 pwd input 请输入密码 if pwd 520
  • QT slot,signal,connect

    connect三种写法 函数 指针 宏 lambda 函数 指针 connect sender QObject destroyed this MyObject objectDestroyed 宏 connect sender SIGNAL
  • Qstring类的常见使用

    Qstring 数据块 初始化 QSring类型之间的相互转换 Qstring转成其他类型 其他类型转Qstring Qstring类的常用方法 拼接字符 格式化 查找特定位置的字符 插入字符 起始位置插入数据 替换指定位置的几个字符 查询
  • QT QPushButton 通过stylesheet 设置样式

    1 QT QPushButton 通过stylesheet 设置样式 ui gt pushButton gt setStyleSheet QPushButton background color rgba 255 178 0 100 col
  • Mysql8完全卸载教程

    0 备份所有需要保留的数据库 在Navicat中选择对应库表选择导出为Sql文件即可 如果卸载数据库的来由是因为数据库已经无法正常使用打开所以需要卸载数据库进行重新安装的话可以跳过这一步 1 停止所有Mysql相关服务 Win11直接搜索服
  • 农作物地块范围识别(图像分割)

    来源 机器学习AI算法工程 知乎 Now more 本文约5500字 建议阅读15分钟本文为你介绍 以薏仁米作物识别以及产量预测为比赛命题 及对对应获奖的开发算法模型 农作物的资产盘点与精准产量预测是实现农业精细化管理的核心环节 当前 我国

随机推荐

  • Unity实现全景图

    1 前言 实现全景查看有两种方式 一种是创建天空盒 另外一种是全景图渲染到一个球形上 从内球内部看 两者都可以用天空盒材质Skybox实现 2 创建天空盒材质 先创建一个材质球命名为Sky 在 Shader 下拉选单中 单击 Skybox
  • 【JavaScript 逆向】521 加速乐多层响应 Cookie 逆向

    前言 现在一些网站对 JavaScript 代码采取了一定的保护措施 比如变量名混淆 执行逻辑混淆 反调试 核心逻辑加密等 有的还对数据接口进行了加密 这次的案例是对加速乐 AAEncode OB 混淆方式的破解 声明 本文章中所有内容仅供
  • Hadoop使用

    1 常用命令 1 namenode格式化 hdfs namenode format 2 启动历史服务器 mapred daemon start historyserver 或者mr jobhistory daemon sh stop his
  • Git仓库版本的回退/前进

    前言 版本库做为一个可迭代更新的仓库 不可能只是单纯提供版本更新操作 其最重要的还是提供了历史版本回滚功能 在使用版本回滚功能前 我们会使用一系列的辅助查询命令 比如查看版本信息 仓库状态能命令 辅助是否需要进行回滚操作 一 查看版本信息
  • 运算放大器的应用(一)放大器

    在硬件电路设计中 运算放大器的应用非常广泛 今天来记录一下作为放大器的应用和公式推导 放大器典型电路 根据放大器基本原理 虚短 特性可知 U0 U1 根据 虚断 特性可知 U1点电流近似为0 则流过R1的电流等于流过R2的电流 根据欧姆定律
  • Photoshop 2023 Beta 内置Ai绘图功能介绍&安装教程

    距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年 最近该公司又再次书写了属于Photoshop的历史新篇章 最近 Adobe 宣布 Photoshop Beta 迎来更新 新增 创意填充 Ge
  • linux下使用selenium

    1 需要linux安装chrome浏览器 安装命令 yum localinstall google chrome stable current x86 64 rpm 2 得的谷歌浏览器版本号 根据版本号选择最接近的内核版本 linux命令
  • 反射获取类的成员变量值

    public class ClassFieldTest public ClassFieldTest List
  • machine unlearning 论文阅读笔记

    文章目录 前言 概要 导论 unlearning 定义 SISA 系统 时间复杂度 实验测试 总结 前言 做一篇发表在顶会S P 4 2 n d 42 nd
  • Connection reset by peer

    今天升级完openssh8 6以后突然发现无法连接服务器了 注意前提是升级成功了 连接时报错如下 Connection reset by peer 解决方案 使用root执行命令 echo sshd ALL gt gt etc hosts
  • 【mcuclub】水流量检测模块-YF-S401

    一 实物图 型号 YF S401 二 原理图 编号 名称 功能 1 VCC 电源正 红色线 2 GND 电源地 黑色线 3 OUT 输出引脚 黄色线 三 简介 水流量传感器主要由塑料阀体 水流转子组件和霍尔传感器组成 它装在电器的进水端 用
  • JVM--调优--03--开发配置

    JVM 调优 03 开发配置 1 本地配置 Xmx1g Xms1g Xmn900m XX UseG1GC Xloggc gc log XX PrintGCDetails 2 linux tomcat 配置 进入tomcat的bin目录 修改
  • 软工作业 双人项目代码规范

    双人项目代码编写规范 蔡东杰 房林尧 以下共分为四个部分 缩进代码 命名规则 代码注释 异常处理 部分规范已做实例说明 后续编代码时需要严格遵守 一 关于缩进代码 一行里面只写一行代码 包括定义变量 一行只定义一个 左括号和后一个字符之间不
  • Java分支和循环语句及方法的使用

    1 分支语句No3 顺序语句 分支语句 循环语句 1 1 分支语句 选择结构 分支语句满足某种条件则执行某一部分 满足另一种条件则执行另一部分 1 2 if语句 简单分支语句 if boolean类型表达式 语句 如果小括号中的表达式成立
  • STM32中断知识点简介

    中断服务函数存放路径为启动文件 startup stm32f10x hd 1 常用的中断服务函数 外部中断服务函数 EXTI0 IRQHandler EXTI0 IRQn EXTI1 IRQHandler EXTI1 IRQn EXTI2
  • jenkins默认会存放目录

    jenkins默认会存放在用户主目录下的 jenkins文件夹中 如 Linux root用户 root jenkins 注意 这是linux版本的 windows系统请自行更改 这个值在Jenkins运行时是不能更改的 请先将Jenkin
  • 自定义coco数据集

    1 环境 anaconda环境安装配置 2 工具 安装labelme工具 3 安装软件 3 1 打开anaconda控制台 3 2 创建虚拟环境 conda create n labelme python 3 7 3 3 激活环境 cond
  • 函数调用栈

    函数调用栈 我们在编程中写的函数 会被编译器编译为机器指令 写入可执行文件 程序执行的时候 会把这个可执行文件加载到内存 在虚拟地址空间中的代码段存放 如果在一个函数中调用另一个函数 编译器就会对应生成一条call指令 当程序执行到这条ca
  • 不使用mybatis的@Param有的报错有的却不报错问题

    前几天更换电脑重新安装新的idea发现在dao层 有的同事没有使用 Param注解 导致系统报错 错误如下 org mybatis spring MyBatisSystemException nested exception is org
  • 显示实例化和显示具体化

    struct man int age double salary 显示具体化 指定模板函数中类型 意思是不要使用swap模板来生成函数定义 而是要使用专门为job类型显示定义的函数定义 因为job是一个结构体 所以swap不可能是直接的利用