C++模板元编程(2)函数模板实例化-显示与隐式

本文深入探讨C++中的函数模板实例化,包括显示实例化和隐式实例化。显示实例化是在编译期明确指定模板参数,而隐式实例化则在函数调用时自动进行。通过示例,解释了模板实例化过程中的参数推导、默认参数和类型匹配规则。
摘要由CSDN通过智能技术生成

参考:https://en.cppreference.com/w/cpp/language/function_template

1、前言

前面我们介绍了函数模板的简单使用。

一个函数模板本身不是一个类型、函数或任何其他实体。仅包含模板定义的源文件不会生成任何代码。为了生成实际的函数(或从类模板生成类),必须实例化模板:确定模板参数,以便编译器可以生成代码。

在C++中,函数模板只是一个模板定义,它描述了生成函数的模式或蓝图。函数模板的目的是生成函数的特定版本,以适应不同的参数类型。即使定义了函数模板,没有使用该模板创建函数的实例,编译器也不会生成任何代码。

要使代码出现,必须对函数模板进行实例化。实例化函数模板意味着根据实际的模板参数将函数模板转换成实际的函数。这个过程通过通过提供参数来指定函数模板的模板参数值。

模板的实例化分为隐式实例化和显示实例化。

实例化过程中模板形参的推导又分为自动推导和显示指定。

首先准备一个函数模板:

template <class 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值