function函数和模板类

function函数和模板类

最近在公司看代码学习到了一个function函数与模板类的结合,感觉非常的棒,特此记录下。

function.h
#include<iostream>
int A_Value(int a)
{
 	return a*10;
}

int B_Value(int a)
{
  return a*5;
}

int A_Init(int a,int b)
{ return a*b ;}

int B_Init(int a,int b)
{ return a+b;}
Type.h
namespace TYPE
{
	typedef std::function<int(int)> FuncValue;
	typedef std::function<int(int, int)> FuncInit;
  class TA
  {
   	public:
   	FuncValue pValue;
   	FuncInit  pInit;
   	TA()
   	{ 
   	 pValue=A_Value;
   	 pInit=A_Init;
   	 }
   	 ~TA() = default;
   }
   class TB
   {
    public:
    FuncValue pValue;
    FuncInit  pInit;
  	TB()
    { 
     pValue=B_Value;
     pInit=B_Init;
     }
     ~TB() = default;
   }
Manger.h
template<typename T>
class CManger
{
 public:
 CManger()
    :m_sT()
    {}
    ~cManger() = default;
    int Value(int nNum);
    int Init(int nNum1, int nNum2);
 privata:
 T m_sT;
Mangeer.cpp
#include"Manger.h"

template<typename T>
int CManger<T>::Value(int nNum)
{
 int hr =m_sT.pValue(nNum);
 return hr;
}

int CManger<T>::Init(int nNum1, int nNum2)
{
 int hr=m_sT.pInit(nNum1, nNum2);
 return hr;
 }
main.cpp
#include<iostream>
#include"Manger.h"
#include"Type.h"

int main()
{
 int a=1;
 int b=5;
 int nRet=0;
nRet=CManger<TYPE::TA>().Value(b);
nRet=CManger<TYPE::TB>().Value(b);
Vivado2023是一款集成开发环境软件,用于设计验证FPGA(现场可编程门阵列)可编程逻辑器件。对于使用Vivado2023的用户来说,license是必不可少的。 Vivado2023的license是一种许可证,用于授权用户合法使用该软件。许可证分为多种类型,包括评估许可证、开发许可证节点许可证等。每种许可证都有不同的使用条件功能。 评估许可证是免费提供的,让用户可以在一段时间内试用Vivado2023的全部功能。用户可以使用这个许可证来了解软件的性能特点,对于初学者小规模项目来说是一个很好的选择。但是,使用评估许可证的用户在使用期限过后需要购买正式的许可证才能继续使用软件。 开发许可证是付费的,可以永久使用Vivado2023的全部功能。这种许可证适用于需要长期使用Vivado2023进行开发的用户,通常是专业的FPGA设计师或工程师。购买开发许可证可以享受Vivado2023的技术支持更新服务,确保软件始终保持最新的版本功能。 节点许可证是用于多设备或分布式设计的许可证,可以在多个计算机上安装Vivado2023,并共享使用。节点许可证适用于大规模项目或需要多个处理节点进行设计的用户,可以提高工作效率资源利用率。 总之,Vivado2023 license是用户在使用Vivado2023时必须考虑的问题。用户可以根据自己的需求选择合适的许可证类型,以便获取最佳的软件使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值