news 2026/10/6 8:08:03

C++初阶(长期更新)第8讲:模板

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++初阶(长期更新)第8讲:模板

C++初阶(长期更新)第8讲:模板

跟着潼心走,轻松拿捏C++,困惑通通走,一去不回头~欢迎开始今天的学习内容,你的支持就是博主最大的动力。博主主页:潼心1412o-CSDN博客

前言

今天我们一起学习模板的内容,gogogo,出发喽~

8.1 模板

C++提供了一种新的泛型编程方式,模板。本质上是底层以模板为蓝图生成不同的函数和类

分为函数模板和类模板

8.2 函数模板

用不同的参数类型使用函数模板时,称为函数的实例化,分为隐式实例化和显式实例化

隐式实例化即编译器自动推导模板参数实际类型

显式则用<>制定模板参数的实际类型

//函数模版 template<class T> //template<typename K> void Swap(T& left, T& right) { T temp = left; left = right; right = temp; } //每个模板函数都必须带自己的template头 template<class T> T Add(T& a, T& b) { return a + b; } int main() { int i = 0, j = 1; double x = 1.1, y = 2.2; Swap(i, j); Swap(x, y); //隐式实例化 cout << Add(i,j) << endl; cout << Add(x, y) << endl; //显式实例化 cout << Add<int>(i,j) << endl; cout << Add<double>(x, y) << endl; return 0; }

8.3 类模板

namespace bit { //类模板 template<class T> class Stack { public: stack(int n = 4) :_a(new T[n]) , _top(0) , _capacity(n) { } ~Stack() { delete[] _a; _a = nullptr; _top = _capacity = 0; } private: int* _a; int _top; int _capacity; }; } int main() { try { bit::Stack<int> st1; bit::Stack<double>st2; } catch (const exception& e) { cout << e.what() << endl; } return 0; }

好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~​​

博主主页:潼心1412o-CSDN博客

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 8:08:03

正步 112 步/分钟是什么概念:华为云码道开发鸿蒙「分列式节拍器」,滑杆推演方队过线时间

正步 112 步/分钟是什么概念&#xff1a;华为云码道开发鸿蒙「分列式节拍器」&#xff0c;滑杆推演方队过线时间 阅兵解说里最常听到的两个数字是「112 步/分钟」和「75 厘米步幅」&#xff0c;但这两个数凑在一起到底意味着什么&#xff1f;一个 1425 的徒步方队从第一排踏上白…

作者头像 李华
网站建设 2026/10/6 8:06:38

reset后提交去哪了?用真实Git验证reflog、救援分支和gc的三层边界

reset之后&#xff0c;log里没了刚才的提交&#xff0c;cat-file却能读它&#xff1b;运行gc以后&#xff0c;它可能仍然能读。到底是谁“没了”&#xff1f; 这三个现象不矛盾。分支当前指向哪里、引用曾经指向哪里、对象还能不能读取&#xff0c;是三个问题。 我们用两次提交…

作者头像 李华
网站建设 2026/10/6 8:06:24

【shell】Termux 的命令

守护进程 pkg install termux-servicessv-enable sshd ssh 注入允许密码和关闭严格模式的底层口令:echo -e "StrictModes no\nPasswordAuthentication yes\nPermitRootLogin yes" >> $PREFIX/etc/ssh/sshd_config 端口监控 查看网络端口natstat -tlpn du…

作者头像 李华
网站建设 2026/10/6 8:05:50

Docker --- 基础理论以及安装、快速上手

Docker基础理论以及安装一、什么是Docker二、安装Docker(1)卸载旧版本(2)搭建 Docker 的仓库(3)安装 Docker 包(4)配置镜像加速源(5)确认 Docker 是否运行三、快速上手指令解析一、什么是Docker DOcker是一种开源的容器化平台&#xff0c;目的是为了将我们写好的程序以及周边依…

作者头像 李华
网站建设 2026/10/6 8:05:01

『ISOBUS 入门』第 12 节 虚拟终端 VT:对象池、消息流与交互实现

农具不带屏幕之后,界面的所有权发生了转移:农具负责描述「界面上有什么」,终端负责把它渲染出来并把操作者的动作回传。这条路走通了,一台拖拉机才能用一个终端操作不同品牌的农具。 1. 会话是怎么建立起来的 一次完整的会话可以拆成六步,每一步都有对应的消息: 建立工作…

作者头像 李华
网站建设 2026/10/6 8:04:42

Codex 自定义 API 配置不生效?很多人把 model_provider 写错位置了

你明明已经在项目中添加了 .codex/config.toml&#xff0c;也写好了 model_provider、base_url 和模型名&#xff0c;但 Codex 启动后仍然连接原来的服务&#xff0c;甚至继续报 401、404 或 model not found。 这种情况不一定是 API Key 或中转线路出了问题。一个很容易忽略的…

作者头像 李华