【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;
}

#

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

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

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

相关推荐
悠仁さん1 小时前
【C++】哈希表
c++·算法·散列表
蒸蒸yyyyzwd3 小时前
后端学习笔记 day111
笔记·学习
叼烟扛炮3 小时前
[LangChain] 学习笔记(08):工具调用底层闭环与第三方搜索(Tavily)实战
人工智能·笔记·学习·langchain
Severus_black3 小时前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
噢,我明白了4 小时前
JAVA中的一些基础应用知识点
java·开发语言
Century_Dragon4 小时前
让新能源故障诊断实训“触手可及“——仿真教学软件(VR)介绍
学习
江屿风4 小时前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
楚山之石5 小时前
【Radiology】影像组学的标准化与可重复性:IBSI 卷积滤波器共识及其未能覆盖的环节
人工智能·学习·机器学习·mri
时间的拾荒人5 小时前
Redis 入门详解:核心特性、重要文件与全局命令实战
开发语言·redis·面试
敲上瘾5 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3