Python 直接传递函数名称,直接执行,如RunFunc
若将函数名称字符串作为参数,需要使用global()[func_name_str] 解析出函数,如RunFuncStr
def Test(str):
print(str)
def Test2(str):
print("Test2: "+ str)
def RunFuncStr(func_name_str, params):
func = globals()[func_name_str]
func(params)
def RunFunc(func_name, params):
func_name(params)
RunFuncStr("Test2", 'aaa')
RunFunc(Test2, "bbb")
C++ 需要使用函数指针,函数指针的声明是 返回值类型(*指针名称)(输入参数类型)如下
#include <iostream>
#include <string>
int add(int a,int b)
{
return a+b;
}
int mulitple(int a, int b){
return a*b;
}
int main(){
int (*pfun)(int,int);//声明一个函数指针
pfun = add;//使用函数指针指向一个函数,此处是函数名
int res = pfun(1,2);//使用函数指针调用函数add
std::cout << res << std::endl;
pfun = mulitple;
std::cout << pfun(1,2)<<std::endl;
return 0;
}