C++ 函数模板及其具体化、实例化

本文探讨了C++中的函数模板,展示了如何使用模板进行泛型编程,同时解释了函数模板的具体化,即为特定类型提供专门的实现。通过示例代码,演示了如何定义和调用模板函数,以及模板的实例化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、函数模板

#include<iostream>
using namespace std;


template <class YY ,typename T>//模板
void fun(YY b,T a)
{
    cout << b << " " << a << endl;
}

//template <typename T>//模板
//void fun(T a)
//{
//    cout << a << endl;
//}

//void fun(double  b)
//{
//    count << b << endl;
//}

int main()
{
    fun('a', 12);
    system("pause");
    return 0;
}
2、 函数模板及其具体化( 将指定的类型,单独处理)

#include<iostream>
using namespace std;
struct  Node
{
    int a;
    double b;
};
template <typename T>//模板
void fun(T a)
{
    cout << a << endl;
}
template <>void fun<Node>(Node no)
{
    cout << no.a << " " << no.b << endl;
}

int main()
{
    Node no = { 12,12.123 };
    fun(no);
    system("pause");
    return 0;
}

3、实例化(生成指定类型的函数定义)

#include<iostream>
using namespace std;
struct  Node
{
    int a;
    double b;
};
template <typename T>//模板
void fun(T a)
{
    cout << a << endl;
}

template <>void fun<int>(int a);

int main()
{
    /*Node no = { 12,12.123 };
    fun(no);*/
    system("pause");
    return 0;
}
*盗用调用顺序:原版函数>具体化 >模板。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clown_30

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值