模板初阶(2):函数模板的匹配原则,类模板的实例化

简介: 模板初阶(2):函数模板的匹配原则,类模板的实例化

一、函数模板的匹配原则

int Add(const int& x, const int& y)
{
  return x + y;
}

template <class T>
T Add(const T& x, const T& y)
{
  return x + y;
}

int main()
{
  int a1 = 1, a2 = 2;
  Add(a1, a2);

  double d1 = 1.1, d2 = 2.2;
  Add(d1, d2);

  return 0;
}
  • 一个非模板函数可以和同名的函数模板同时存在。
  • 匹配原则:
  1. 匹配合适的情况下,编译器会优先调用非模板函数,而非通过模板实例化出一个新的函数。
  2. 如果模板能实例化出匹配更好的函数,则优先模板。
  3. 普通函数支持隐式类型转换。


二、类模板的实例化

template <class T>
class Stack
{
public:
  Stack(int n = 4)
    :_top(0)
    ,_capacity(n)
  {
    cout << "Stack(int n = 4)" << endl;
    _a = new T[n];
  }

  ~Stack()
  {
    cout << "~Stack()" << endl;
    delete _a;
    _a = nullptr;
    _top = _capacity = 0;
  }

private:
  T* _a;
  int _top;
  int _capacity;
};


int main()
{
  Stack <int> s1;    // 1. 类名 <数据类型> 才是实例化类的类型
  Stack <double> s2; // 2. 显式实例化的类型不同,它们就是不同的类

  return 0;
}
相关文章
|
12天前
|
缓存 API 开发工具
Kimi K3.1 Pro 上线:Highspeed 输出快 2–3 倍,API 价格也翻倍,值得换吗?
Kimi K3.1 Pro发布:支持100万token上下文,Highspeed版输出速度快2–3倍但价格翻倍。交互类任务(如实时代码助手)适合Highspeed;后台批量任务(如文档分析)优先选普通版。选型应基于真实任务的端到端耗时、质量与成本三重实测。(239字)
|
20天前
|
弹性计算 人工智能 负载均衡
阿里云服务器租用价格表(一年/按月/按小时报价明细)
云服务器怎么收费,是每个上云的人最先想搞清楚的问题。阿里云的计费体系可以拆成三个时间维度:按小时计费(按量付费)、按月计费(包年包月单月)、按年计费(包年及多年合约)。同一个CPU内存配置,三个维度算下来的单价差异非常大,选错计费方式,一年可能多花几千甚至上万。这篇文章把阿里云 轻量应用服务器、阿里云ECS云服务器、阿里云GPU云服务器 的年付、月付、小时价整理成一份清晰的报价明细,讲透不同计费方式的适用场景,并附上可执行的命令行命令,帮你把每一笔钱都花在刀刃上。
372 0
|
1月前
|
人工智能 安全 网络安全
2026 年阿里云 ECS 云服务器部署 DeepSeek Harness 实操文档:搭建可多设备访问、团队共享的 AI Agent 完整教程
完成整套部署之后,你就拥有一套可以随时随地访问、支持团队多人协作的云端AI Agent开发平台。不管是外出使用手机突发灵感调试代码,还是团队小伙伴共用同一套插件环境做项目开发,都可以得到满足。这套部署方案兼顾易用性和安全,新手可以借助1Panel图形界面快速落地,有经验的开发者也可以基于Docker、Nginx手动搭建反向代理架构。
421 0
|
3月前
|
人工智能
阿里云Qoder CN企业版多少钱一个人?团队版99元/人/月包含什么?
阿里云Qoder CN无“企业版”,仅设团队版(99元/人/月)与企业标准版(149元/席位/月,10起购)。团队版含3000 Credits/人/月、全产品访问及基础管理;企业版支持额度共享、权限分组、私有市场及审计等增强能力。详情见官网:https://t.aliyun.com/U/hGZKNX
410 0
|
4月前
|
自然语言处理 测试技术 API
最新版大模型通义千问(Qwen3.7-Max)功能介绍及接入教程
在大模型技术向智能体(Agentic AI)时代全面迈进的当下,通义千问推出的Qwen3.7-Max凭借独创的“正交解耦”架构与极致的智能体能力,成为新一代旗舰模型的标杆之作。该模型专为复杂长周期任务、工程级代码开发与多智能体协作设计,实现了35小时连续自主执行、超1000次工具调用零中断的极限突破,在全球权威评测中稳居国产模型前列,是企业级自动化、软件工程与科研推理场景的首选基座。本文将全面拆解Qwen3.7-Max的核心功能与技术优势,详解从API获取到多语言接入的全流程,覆盖基础调用、流式输出、思考模式、Partial模式等高级特性,并提供多场景实战技巧与问题解决方案,帮助开发者快速掌握
816 2
|
5月前
|
人工智能 程序员 测试技术
提示词工程已死,Loop Engineering 称王!保姆级教程 + 项目实战
大家好,我是程序员鱼皮。 AI 编程圈又又又出新概念了…… 这次的起因是 Claude Code 之父 Boris Cherny 在最新访谈中说: 我不再提示 Claude 了,我有一堆循环在运行,它们才是在提示 Claude 并判断接下来该做什么。我的工作变成了写循环。 紧接着,OpenClaw 之父 Peter Steinberger 也发推表示: 你不该再给编程 Agent 写提示词了。你应
506 0
只要会发文,就能多一份收入?这 5 个平台,普通人可以先试起来
本文为普通人量身打造图文副业入门指南,梳理今日头条、百家号、知乎、微信公众号、小红书5大低门槛平台特点与实操策略,强调“先写起来、再优化、重积累”,避开盲目铺量、自嗨写作等常见误区,助你从0开始用内容沉淀粉丝、建立信任、实现多元变现。
|
7月前
|
Linux Shell API
阿里云 OpenClaw / Hermes Agent 一键部署+如何配置百炼API流程指南
OpenClaw(曾用名Clawdbot、Moltbot)是一款开源AI个人助手,支持本地部署于MacOS、Windows及Linux系统,可通过自然语言控制设备与服务,实现邮件处理、日程安排、市场调研等自动化任务,且兼容Qwen、Claude、GPT等主流大语言模型。阿里云百炼作为企业级模型服务与应用开发平台,其API可接入OpenClaw,助力调用通义千问系列大模型。本文详细拆解OpenClaw安装、百炼API Key获取、配置及模型验证全流程,全程无营销词汇,确保操作贴合技术逻辑与实际需求。
713 1
|
5月前
|
存储 缓存 NoSQL
淘宝的购物车为什么永不丢失?分布式会话架构深度解析(附python源码)
淘宝购物车“永不丢失”源于其无状态服务+分布式缓存(Redis/Tair)架构:数据脱离单机内存,统一存储于高可用共享集群;结合user_id/匿名ID贯通多端,并支持登录自动合并。文末附可运行的Python模拟实现。(239字)
|
8月前
|
存储 运维 搜索推荐
2026年企业网站建设全流程实施指南
本文结合数字化转型背景,从核心原则、工具选型、全流程实施三方面,给出企业建站完整方案,助力品牌传播与业务转化。
734 0
2026年企业网站建设全流程实施指南