【C++】Template模板

创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!

🔥c++系列专栏:C/C++零基础到精通 🔥

给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ

c语言内容💖:

专栏:c语言之路重点知识整合

【c语言】全部知识点总结


目录

Template

在 C++ 中 模板被用于编写通用、可复用的代码,通过使用模板,可以避免重复编写相似的代码,提高代码的复用性和可维护性。

模板分为函数模板类模板 ,模板是泛型编程的基础,可以代表多个类型

函数模板

用于定义通用的函数,可以接受不同的参数,模板 T 会自动推导类型

add 函数中可以接受 int型与 float型参数

cpp 复制代码
#include <iostream>
using namespace std;

template <typename T>
T add(T& a,T& b)
{
    return a + b;
}

int main()
{
    int a = 1;
    int b = 2;
    cout << add(a, b) << endl;

    float c = 1.1;
    float d = 2.2;
    cout << add(c, d) << endl;

    //显式指定类型
    cout << add<int>(a, b) << endl;
    cout << add<float>(c, d) << endl;
    return 0;
}

类模板

类模板用于定义通用的类,可以根据不同的类型进行实例化

cpp 复制代码
#include <iostream>
using namespace std;


template <typename T>
class A
{
public:
    void setvalue(T value)
    {
        m_value = value;
    }
    T getvalue()
    {
        return m_value;
    }
private:
    T m_value;
};

int main()
{
    A<int> a;
    a.setvalue(1);
    cout << a.getvalue() << endl;

    A<double> b;
    b.setvalue(1.1);
    cout << b.getvalue() << endl;

    return 0;
}

#

模板传递多个参数时并使用默认值指定时,默认值需要从右向左依次不间断 ---

|--------------------------------------|
| 大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |

|---------------------------------------------------------------|
| 大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |

相关推荐
MartinYeung525 分钟前
[论文学习]ChainWatch:面向MCP-Based AI智能体系统中多步攻击的杀伤链对齐序贯检测框架
人工智能·学习
tq108626 分钟前
从阿罗不可能定理到所有制:动态协调与资源再配置的理论逻辑
笔记
caimouse30 分钟前
ReactOS 图形系统分析(48):弧线绘制 — arc.c
c语言·开发语言
fīɡЙtīиɡ ℡36 分钟前
AI 应用评测体系
人工智能·学习
cypking2 小时前
Objective-C 语法完整学习手册(小白自学 + 开发备查)
c语言·开发语言·学习·objective-c
ambition202423 小时前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
chuan.bai6 小时前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
离陌在学C#8 小时前
C# 事件(Event)详解:从概念到实战
开发语言·c#
Terra.K9 小时前
Java异常学习[特殊字符]
java·开发语言·学习
葡萄城技术团队10 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构