news 2026/1/24 10:04:52

万能交换函数模板解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
万能交换函数模板解析

代码功能解析

该代码实现了一个通用的交换函数模板,能够交换任意相同类型的两个变量值。以下是具体分析:

模板函数定义

template<class T> void Swap(T& x, T& y) { T tmp = x; x = y; y = tmp; }
  • 使用template<class T>定义模板,T为泛型类型参数。
  • 函数参数为两个T类型的引用(T&),允许直接修改原始变量。
  • 通过临时变量tmp完成交换操作,避免值覆盖问题。

主函数测试

int main() { int x1 = 1; int y1 = 2; Swap(x1, y1); cout << x1 << ' ' << y1 << endl; double x2 = 1.1; double y2 = 2.2; Swap(x2, y2); cout << x2 << ' ' << y2 << endl; return 0; }
  • 测试整数交换:x1y1初始值为12,调用Swap后输出2 1
  • 测试浮点数交换:x2y2初始值为1.12.2,调用Swap后输出2.2 1.1

输出结果

2 1 2.2 1.1

关键点说明

  1. 模板实例化:编译器根据调用时的参数类型自动生成Swap<int>Swap<double>的具体实现。
  2. 引用传递:函数参数使用引用,确保直接操作原始变量而非副本。
  3. 类型安全:模板在编译时检查类型一致性,若尝试交换不同类型变量会导致编译错误。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/11 20:33:36

Vulkan教程(十三):着色器模块:Vulkan 可编程管线的核心载体

目录 一、SPIR-V 的核心优势 二、Slang 着色器语言基础 三、三角形渲染的着色器实现 3.1 顶点着色器(Vertex Shader) 3.2 片段着色器(Fragment Shader) 3.3 逐顶点颜色插值(进阶) 四、着色器编译(Slang → SPIR-V) 4.1 着色器文件组织 4.2 编译脚本(平台专属…

作者头像 李华
网站建设 2026/1/4 20:41:58

腾讯游戏单季收入破600亿元 :“铁王座”稳中有忧?

近日&#xff0c;腾讯在2025年第三季度财报中披露&#xff0c;总营收达1928.7亿元&#xff0c;同比增长15%&#xff1b;其中游戏业务收入为636亿元&#xff0c;同比增长22.8%&#xff0c;实现单季收入首次突破600亿元大关。这一里程碑标志着腾讯游戏在“回归大DAU、打造长青游戏…

作者头像 李华
网站建设 2025/12/25 7:56:11

12345

作者头像 李华
网站建设 2025/12/25 16:57:51

问卷设计的“两种思维”:人工拍脑袋 vs AI搭骨架——宏智树AI如何让每一道题都“有据可依”?

在科研、教学、市场调研甚至课程作业中&#xff0c;问卷似乎是“最容易上手”的工具。 但真正做过研究的人都知道&#xff1a;设计一份有效问卷&#xff0c;远比写论文更考验方法论功底。 传统问卷设计&#xff0c;往往依赖“经验直觉”&#xff1a; “我觉得这个问题应该这么…

作者头像 李华
网站建设 2026/1/23 5:14:49

AI社交工具如何提升跨文化沟通效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个跨文化沟通效率对比工具&#xff0c;比较传统翻译工具与AI辅助社交工具的效果差异。要求&#xff1a;1. 设计3种典型沟通场景&#xff1b;2. 记录传统方式和AI方式的沟通时…

作者头像 李华
网站建设 2025/12/25 9:40:59

微电网储能系统充放电分布式协同优化探秘

关键词&#xff1a;微电网&#xff1b;储能系统&#xff1b;一致性算法&#xff1b;充放电分布式协同优化&#xff1b; ## 非完整复现&#xff0c;控制部分未做;主题&#xff1a;在微电网系统中&#xff0c;储能系统(ESSs)常被用来支持频率控制。 由于可再生能源发电的间歇性和…

作者头像 李华