C++函数模板基础

2023-11-16

今天给大家带来函数模板的内容,当我们面对“逻辑相同但类型不同”的问题时(比如整型相加和浮点型相加),使用函数模板可以提高代码利用率,起到事半功倍的效果。今天给大家分享蛋类型变量的函数模板。

#include <iostream>
using namespace std;

void Myswap(int *p1,int *p2)
//普通函数,此处以整型指针地址传参,实现两个数的对换 
{
    int temp=0;
    temp=*p2;
    *p2=*p1;
    *p1=temp;
    cout<<*p1<<" "<<*p2<<endl;    
    //直接在函数里面写好对换结果 
}

template<class T>
//函数模板,声明代替标识T 
T Myadd(T x1, T x2) 
{
    //用T代替所有遇到的类型 
    return x1+x2;
}

int main(int argc, char** argv) 
{
    int a=10,b=20;
    double c=3.14,d=1.15926; 
    int *p1=&a;
    int *p2=&b;
        
    Myswap(p1,p2);
    cout<<Myadd(a,b)<<endl;
    cout<<Myadd(c,d)<<endl;
    //同一个函数模板可以应用于不同类型参数 

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

C++函数模板基础 的相关文章

  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • asp.net 文本框文本模式数字,仅允许数字

    我只是想知道 ASP NET 中是否有一种方法只允许文本框中的数字textmode number 当我使用这个时
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • Clang 编译器 (x86):80 位长双精度

    我正在尝试在 x86 Windows 平台上使用本机 80 位长双精度 海湾合作委员会选项 mlong double 80 https gcc gnu org onlinedocs gcc x86 Options html似乎不适用于 cl
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 如何挤出平面 2D 网格并赋予其深度

    我有一组共面 连接的三角形 即二维网格 现在我需要将其在 z 轴上挤出几个单位 网格由一组顶点定义 渲染器通过与三角形数组匹配来理解这些顶点 网格示例 顶点 0 0 0 10 0 0 10 10 0 0 10 0 所以这里我们有一个二维正方
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没

随机推荐

  • 【C++编程基础】AOJ (C++ Programming II)—2-A-stack

    2 A stack 题目 stack Stack is a container of elements that are inserted and deleted according to LIFO Last In First Out Fo
  • 四段论提问让ChatGPT更懂你心!

    用户故事是描述客户需求的方法 通常记为四段论的格式 角色 功能 目的 验收标准 如 作为一个家庭主妇 我需要一个30平方米的餐厅 用以招待10位客人聚餐 我希望这个餐厅 1 四四方方 2 距离厨房不超过10步 3 光线充足 白天可以不开灯打
  • luajit笔记---编译成静态库以及FFI绑定宿主程序函数

    luajit笔记 编译成静态库以及FFI绑定宿主程序函数 发表于2016 3 31 9 23 19 219人阅读 分类 Lua local ffi require ffi ffi cdef typedef struct uint8 t id
  • 两个JSON合并一个JSON

    因为用artTemplate 一个script只能嵌入一条json 多条JOSN给多个script 数据共通又不理想所有就拼吧 虽然看起来都是json格式 String就是String json对象 function JSONcompose
  • 异常点检测算法工具库(pyod)介绍+代码

    异常点检测算法工具库 pyod 一 PyOD介绍 二 PyOD主要亮点 三 工具库相关重要信息汇总 四 作者介绍 五 API介绍与实例 API References Examples 六 代码及效果图 6 1 代码 6 2 效果图 项目地址
  • 《人工智能导论》期末项目 - 基于CNN的花卉识别系统

    目录 一 需求和用例分析 需求分析 用例分析 二 设计和实现 设计 实现 三 数据收集 四 项目技术 对于CNN深度学习算法的解析 五 结果评估方法 1 定性评估 2 定量评估 3 统计分析方法 六 参考文献 花卉系统项目演示 1 通过tr
  • 半波整流、全波整流电路#集成运算放大器

    半波整流 全波整流电路 集成运算放大器
  • 一零六八、回顾MySQL关键字排序

    一 关键字书写顺序 select distinct from join on where group by having union all order by limit 二 关键字实际执行顺序 from on join where gro
  • 详解Spring Bean的生命周期

    Spring Bean的生命周期是Spring面试热点问题 这个问题即考察对Spring的微观了解 又考察对Spring的宏观认识 想要答好并不容易 本文希望能够从源码角度入手 帮助面试者彻底搞定Spring Bean的生命周期 只有四个
  • 通过一张照片来定位拍摄地点和网站的域名 LA CTF 2023

    简介 这次打ctf遇到了一个比较经典的osint类题目 在这里分享一下如何做此类题目 题目链接 https platform lac tf challs 题目简介 你能猜出这个猫天堂的名字吗 答案是此位置的网站域 例如 如果答案是 ucla
  • 从编译器角度分析C语言中数组名和指针的区别

    数组名和指针是两个往往很容易让人们混淆的概念 很多人以为数组名就是一个指针 也有很多人知道数组名不同于指针但是仅知道数组名的值不能像指针一样改变 例如你可以写出下面这样的代码 int p p 却不能写这样的代码 int a a 那么数组名跟
  • Ubuntu下GCC引用mysql头文件和库文件

    http blog csdn net fjssharpsword article details 6942812 1 安装mysql server sudo apt get install mysql server 5 1 2 gcc连接m
  • 小程序嵌套h5界面,在h5界面调用小程序的扫一扫功能(自用方法3)

    前言 因为小程序对项目要求比较多 我们经常会使用webview嵌套H5界面来 然后在H5界面来实现我们的一些功能页面 这里就会遇到一些问题 比如H5界面的微信扫码功能 目录 实现方法的尝试 自用方法3 方法1 在h5界面中 点击调用小程序的
  • Go语言的学习【2】基础语法

    目录 代码组成部分 字符串 格式化字符 数据类型 变量 变量声明 多变量声明 值类型和引用类型 遇到的问题及解决办法 1 报错1 代码组成部分 Go 程序可以由多个标记组成 可以是关键字 标识符 常量 字符串 符号 在 Go 程序中 一行代
  • Python编程快速入门基础作品(集合)

    Python编程快速入门基础作品 第1集线条 Python编程快速入门基础作品 第2集角 Python编程快速入门基础作品 第3集三角形 Python编程快速入门基础作品 第4集正方形 Python编程快速入门基础作品 第5集五边形 Pyt
  • c语言实现队列

    1 队列的定义 队列 queue 是只允许在一端进行插入操作 而在另一端进行删除操作的线性表 队列是一种先进先出 First In First Out 的线性表 简称FIFO 允许插入的一端称为队尾 允许删除的一端称为队头 队头 head
  • c++ stl(标准模板库)

    1 引言 STL 标准模板库 从广义上分为 容器 算法 迭代器 容器和算法之间通过迭代器进行无缝连接 在 c 标准种 STL被组织成以下13个头文件
  • qt多线程下,QString赋值导致崩溃

    问题 在多线程情况下 给全局的QString变量赋值 拷贝操作 导致程序崩溃 例如有一个全局变量 QString strGlobal 在多线程代码段中进行赋值 strGlobal QString real value 线程执行频率到一定程度
  • 乐学python靠谱吗_【乐学100】-乐学100怎么样

    花开梦未蓝nice 今天刚给孩子注册成功 孩子马上被乐学100吸引住了 首先 是看到礼品店里有许多他心仪的奖品 他希望通过努力能够得到礼品 然后 他开始为自己挣学分 他一口气做了有理数单元11个小模块的练习 正确率较高 又做了错题总结 改正
  • C++函数模板基础

    今天给大家带来函数模板的内容 当我们面对 逻辑相同但类型不同 的问题时 比如整型相加和浮点型相加 使用函数模板可以提高代码利用率 起到事半功倍的效果 今天给大家分享蛋类型变量的函数模板 include