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

c++ 模板

测试代码。my_template.h头文件内容如下:

#ifndef MY_TEMPLATE_HEADER_H
#define MY_TEMPLATE_HEADER_H// 函数模板示例 函数模板的 T 作用域仅限于此函数
template<typename T>
T my_max(T a, T b) {return (a > b) ? a : b;
}// 类模板示例 类模板的 T 作用域仅限于此类定义
template<class T>
class MyStack {
private:T* elements;int top;int capacity;
public:MyStack(int size = 10) : capacity(size), top(-1) {elements = new T[capacity];}~MyStack() {delete[] elements;}void push(const T& item) {if (top >= capacity - 1) {throw std::overflow_error("Stack is full");}elements[++top] = item;}T pop() {if (top < 0) {throw std::underflow_error("Stack is empty");}return elements[top--];}bool empty() const {return top == -1;}
};#endif

测试代码:

#include "my_template.h"void testTemplate() {int maxVal = my_max(3, 5);std::cout << "maxVal: " << maxVal << endl;MyStack<int> stack;stack.push(1);stack.push(2);stack.push(3);std::cout << "top: " << stack.pop() << endl;
}

打印:

ok! 注意:类模板和函数模板通常写在头文件中。

相关文章:

  • 如何使用Python从MySQL数据库导出表结构到Word文档
  • OleDbParameter.Value 与 DataTable.Rows.Item.Value 的性能对比
  • Vue中 toRaw 和 markRaw 的使用
  • Java面试:企业协同SaaS中的技术挑战与解决方案
  • 龙舟竞渡与芯片制造的共通逻辑:华芯邦的文化破局之道
  • RAG混合检索:倒数秩融合RRF算法
  • 在日常管理服务器中如何防止SQL注入与XSS攻击?
  • 从公开到私密:重新思考 Web3 的数据安全
  • 2025最新Nginx安装配置保姆级教程(Windows)
  • Dify运行本地和在线模型
  • 随笔20250530 C# 整合 IC卡读写技术解析与实现
  • 《java创世手记》---java基础篇(上)
  • Paraformer语音模型:一种语音模型加速方法
  • π0-FAST-针对VLA模型的高效动作token化技术-2025.1.16-开源
  • MySQL + CloudCanal + Iceberg + StarRocks 构建全栈数据服务
  • 【Netty系列】核心概念
  • 如何从ISO镜像直接制作Docker容器基础镜像
  • 怎么在window上打开ubuntu虚拟机?
  • 深度学习复习笔记
  • 循环神经网络(RNN):为什么它能处理时序数据?它真的能减轻过拟合吗?
  • 网站推广思路/广州网页制作
  • 长春公司网站建设/网络推广精准营销推广
  • 无代码开发平台永久免费/自动app优化官网
  • 临汾推广型网站建设/网站目录结构
  • 建设网站要服务器吗/西安官网seo公司
  • 你了解网站建设吗 软文案例/推广网站平台