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

#

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

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

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

相关推荐
clint4562 天前
C++进阶(1)——前景提要
c++
夜悊2 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴2 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0013 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
LDR0063 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术3 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
通信小呆呆3 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
码云数智-园园3 天前
C++20 Modules 模块详解
java·开发语言·spring
H__Rick3 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee3 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale