当前位置: 首页 > news >正文

C++函数模板温习总结

函数模板

// 1、typename 在这里是类型重定义(typedef),而不是宏替换(#define)
//2、模板的非类型参数,属性为const , 不允许修改
//3、函数模板不允许部分特例化,类模板可以
//4、模板函数和非模板函数重载,优先调用非模板函数(这样编译器做的事情最少,效率最高)


//函数模板
// 1、typename 在这里是类型重定义(typedef),而不是宏替换(#define)
//2、模板的非类型参数,属性为const , 不允许修改
//3、函数模板不允许部分特例化,类模板可以
//4、模板函数和非模板函数重载,优先调用非模板函数(这样编译器做的事情最少,效率最高)
template<typename T, int SIZE>
int  FindVal(T *arrVal , T val)
{cout << "FindVal template" << endl;for (int i = 0; i < SIZE; ++i){if (val == arrVal[i]){cout << "find it" << endl;return i;}}cout << "not find it" << endl;return -1;
}//特例化
template<>
int  FindVal<char  , 5>( char * arrVal, char a)
{cout << "FindVal template char" << endl;return -1;
}
//部分特例化,报错:严重性	代码	说明	项目	文件	行	禁止显示状态
//错误	C2768	“FindVal” : 非法使用显式模板参数	Project2	
template<int SIZE>
int  FindVal<char, SIZE>(char* arrVal, char a)
{cout << "FindVal template char" << endl;return -1;
}int main()
{int arr[] = { 1,2,3,4,5 };char strarr[] = "111111";FindVal<int  , 5>(arr , 5);FindVal<char ,5>( strarr , '1');return 0;
}

相关文章:

C++函数模板温习总结

函数模板 // 1、typename 在这里是类型重定义(typedef)&#xff0c;而不是宏替换(#define) //2、模板的非类型参数&#xff0c;属性为const &#xff0c; 不允许修改 //3、函数模板不允许部分特例化&#xff0c;类模板可以 //4、模板函数和非模板函数重载&#xff0c;优先调用…...

【网络】套接字(socket)编程——TCP版

接着上一篇文章&#xff1a;http://t.csdnimg.cn/GZDlI 在上一篇文章中&#xff0c;我们实现的是UDP协议的&#xff0c;今天我们就要来实现一下TCP版本的 接下来接下来实现一批基于 TCP 协议的网络程序&#xff0c;本节只介绍基于IPv4的socket网络编程 基于 TCP 的网络编程开…...

水凝胶生物打印是什么?如何指导Organoids培养?有啥好处?

大家好&#xff0c;我们来了解这篇《Hydrogel-in-hydrogel live bioprinting for guidance and control of organoids and organotypic cultures》发表在《Nature Communications》的一篇文章。三维水凝胶基器官样培养&#xff0c;如类器官和体外器官型培养&#xff0c;能够自我…...

从springBoot框架服务器上下载文件 自定义一个启动器

在springboot框架中下载服务器存储的图片&#xff1a; 1&#xff09;springboot默认访问放行的目录只有static&#xff0c;在static目录下存放图片资源 2&#xff09;编译后的static目录中有一个1.png 2.5)编写控制器&#xff1a; Controller //RequestMapping("/upload&q…...

某通电子文档安全管理系统 CDGAuthoriseTempletService1接口SQL注入漏洞复现 [附POC]

文章目录 某通电子文档安全管理系统 CDGAuthoriseTempletService1接口SQL注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议某通电子文档安全管理系统 CDGAuthoriseTempletService1接口SQL注入漏…...

pythonselenium自动化测试实战项目(完整、全面)

前言 之前的文章说过&#xff0c; 要写一篇自动化实战的文章&#xff0c; 这段时间比较忙再加回家过11一直没有更新博客&#xff0c;今天整理一下实战项目的代码共大家学习。&#xff08;注:项目是针对我们公司内部系统的测试&#xff0c;只能内部网络访问&#xff0c;外部网络…...

如何选择合适的虚拟机软件?对比Parallels Desktop 和VMware Fusion 使用虚拟机畅玩黑神话悟空

随着技术的发展&#xff0c;虚拟机软件将更加高效地管理和分配系统资源。虚拟机软件扮演着越来越重要的角色。无论是软件开发者需要测试不同操作系统环境下的应用&#xff0c;还是普通用户希望在一台机器上同时运行多个操作系统&#xff0c;虚拟机软件都是不可或缺的工具。那么…...

ESP32FreeRTOS开发笔记:2.定义、多任务与优先级调度

FreeRTOS 是一种实时操作系统(RTOS),专门用于嵌入式系统。它之所以被称为 "FreeRTOS",是因为它是一个免费和开源的 RTOS。下面我们具体讨论一下 FreeRTOS 与 RTOS 的区别,以及 "free" 的含义。 一、什么是 RTOS? RTOS,全称 Real-Time Operating Sy…...

【Python-办公自动化】1秒比较出2张表格之间的不同并标黄加粗

欢迎来到"花花 Show Python"&#xff0c;一名热爱编程和分享知识的技术博主。在这里&#xff0c;我将与您一同探索Python的奥秘&#xff0c;分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者&#xff0c;都能在这里找到有价值的信息和灵感。 自我介…...

Linux下查看各进程的swap

cat /etc/re*se Red Hat Enterprise Linux Server release 6.8 (Santiago) 简单的可以通过top命令查看 top 后 按 f 进入选择列界面 按 p 就会输出swap信息&#xff08;变为P&#xff09; 回车返回看到SWAP信息了 再按 F 再按p 按swap排序 再回车后就是各进程按swap排序…...

最后一个单词的长度 简单字符串问题

给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1&#xff1a; 输入&#xff1a;s "Hello World" 输出&#xff1a;5 解…...

Autodesk Mudbox 2024:重塑创意边界的3D数字绘画与雕刻利器

在数字艺术与设计领域&#xff0c;Autodesk Mudbox 2024以其卓越的性能和直观的操作界面&#xff0c;再次刷新了3D数字绘画与雕刻软件的标准。作为Autodesk家族的一员&#xff0c;Mudbox不仅继承了其家族强大的技术基因&#xff0c;更在细节上精雕细琢&#xff0c;为艺术家和设…...

【python下用sqlite3, 多线程下报错,原因和解决 】

在python下用sqlite3, 多线程 在UPDATE 或者INSERT的时候, 会报错 sqlite3.OperationalError: cannot commit - no transaction is active 1. 原因 多线程写冲突 非原子写操作&#xff1a;如果多个线程同时执行非原子写操作&#xff0c;可能会导致数据覆盖或不一致。 2. 解…...

学习记录——day30 网络编程 端口号port 套接字socket TCP实现网络通信

目录 一、端口号 port 二、套接字 socket 1、原理 2、socket函数介绍 三、TCP实现网络通信 1、原理 2、TCP通信原理图 3、TCP相关函数 1&#xff09;bind 绑定 2&#xff09;listen 监听 3&#xff09;accept 接收连接请求 4&#xff09;recv 接收 5&#xff09;sen…...

【DataKit系列】数据迁移-实例搭建步骤(二)

说明&#xff1a;此文档仅包含使用DataKit进行数据迁移时&#xff0c;搭建迁移任务相关教程&#xff0c;不包含一些必须的前置配置步骤&#xff0c;和环境要求等&#xff0c;请优先学习“【DataKit系列】数据迁移-使用说明&#xff08;一&#xff09;”文档。 数据迁移实例搭建…...

发送jsonp请求(前后端如何实现)

发送jsonp请求(前后端如何实现) 前端 $.ajax({url: /api/jsonp,type: get,data: { id: 123 }, // 参数dataType: jsonp,jsonp: cb, // 回调函数的参数名jsonpCallback: successfn,// 回调函数contentType: "application/json; charsetutf-8",success: function(resp…...

Leetcode—1239. 串联字符串的最大长度【中等】(unordered_set)

2024每日刷题&#xff08;155&#xff09; Leetcode—1239. 串联字符串的最大长度 实现代码 class Solution { public:bool charSet(string & s) {unordered_set<char> charSet(s.begin(), s.end());// true表示有重复// false表示唯一return s.size() ! charSet.s…...

Spring Boot 3.x Rest API统一异常处理最佳实践

上一篇&#xff1a;Spring Boot 3.x Rest API最佳实践之统一响应结构 下一篇&#xff1a;Spring Boot 3.x Web单元测试最佳实践 参考著作&#xff1a;Error Handling for REST with Spring 在Spring MVC应用中&#xff0c;要对web表示层所抛出的异常进行捕获处理有多种方式&…...

线程的进阶学习

线程结束方式: 1.pthread_exit //pthread_join 2.从线程执行函数中return //此时效果等价于pthread_exit 3.pthread_cancel //线程可以被取消 4.任何一个线程调用了exit 或者 主线程 (main函数) return都会造成 进程结束 线程资源回收 ---pthread_join int pthread_ca…...

13.1 Python 正则表达式基础

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。 ⭐…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...