今天寫c的作業時候想起來能不能用函式名字串來呼叫函式第乙個問題,函式名如何儲存,我們需要用到函式指標
type (*func)(type &,type &)
該語句宣告了乙個指標func,它指向了乙個函式,這個函式帶有了2個type型引數並返回乙個type的值。
p.s. type型別可以被看成是int啊或者是floast等c++的型別。
注意事項
type *func(type ,type)
這就不是乙個指向函式的指標了,而是宣告了乙個函式,該函式返回乙個type型別的指標
小栗子
func1()
void main()
#include
//沒有會報錯
#include
//自定義了乙個函式指標型別 ,指向的函式引數是void而且返回值也是void
//注意 不是取void的別名
typedef
void (*funcp)();
void func1()
void func2()
funcp getfuncpointer(char* sfuncname)else
if(strcmp(sfuncname,"func2")==0)
return null;
}void main()
}
C 通過函式名字串執行相應的函式
如果 中函式過多,那麼通過函式名字串執行相應的函式會更加方便,也會使 更為簡單。在c 中,通過函式名字串執行相應的函式這項功能是在system.reflection命名空間中實現的,使用的函式為getmethod。若要使用此功能只需如下三步。一 getmethod函式定義在虛基類type類中,在使用...
通過同名字串來呼叫函式
相信使用python的各位童鞋,總會有這樣的需求 通過乙個同名的字串來呼叫乙個函式。其他的語言是如何實現,不太清楚。但是python提供乙個強大的內建函式getattr 可以實現這樣的功能。getattr 的函式原型為 getattr object,str name 其返回物件object中名字為s...
python 使用函式名的字串呼叫函式
deffoo print foo defbar print bar func list foo bar for func in func list func typeerror str object isnot callable我們希望遍歷執行列表中的函式,但是從列表中獲得的函式名是字串,所以會提示...