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

#

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

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

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

相关推荐
universe_012 分钟前
day25|学习前端js
前端·笔记
光头闪亮亮11 分钟前
C++凡人修仙法典 - 宗门版-上
c++
光头闪亮亮14 分钟前
C++凡人修仙法典 - 宗门版-下
c++
John_ToDebug1 小时前
Chromium base 库中的 Observer 模式实现:ObserverList 与 ObserverListThreadSafe 深度解析
c++·chrome·性能优化
科大饭桶1 小时前
C++入门自学Day11-- String, Vector, List 复习
c语言·开发语言·数据结构·c++·容器
teeeeeeemo1 小时前
如何做HTTP优化
前端·网络·笔记·网络协议·http
范范之交1 小时前
JavaScript基础语法two
开发语言·前端·javascript
Felven1 小时前
C. Game of Mathletes
c语言·开发语言
long3161 小时前
构建者设计模式 Builder
java·后端·学习·设计模式
点云SLAM1 小时前
C++中内存池(Memory Pool)详解和完整示例
开发语言·c++·内存管理·内存池·new/delete·malloc/free