#include <iostream>
using namespace std;
int add(int a,int b){return a+b;}
int mul(int a,int b){return a*b;}
//返回函數(shù)指針的函數(shù)毅往,第一種
typedef int OP(int,int);
OP* get_op(char c){
if (c=='+')
return add;
else if (c=='*')
return mul;
else
return nullptr;
}
//返回函數(shù)指針的函數(shù),第二種
int (*op(char c))(int, int){
if (c=='+')
return add;
else if (c=='*')
return mul;
else
return nullptr;
}
//返回函數(shù)指針的函數(shù),第三種婶溯,C++11
auto op2(char c) -> int (*)(int, int){
if (c=='+')
return add;
else if (c=='*')
return mul;
else
return nullptr;
}
//返回函數(shù)指針的函數(shù)祭往,該指針指向 返回函數(shù)指針的函數(shù)晦嵌,第一種
int (*(*pf_op())(char c))(int, int){
return op2;
}
//返回函數(shù)指針的函數(shù)佩伤,該指針指向 返回函數(shù)指針的函數(shù)冻记,第二種搏熄,C++11
auto pf_op2() -> auto (*)(char) -> int (*)(int, int){
return op;
}
int main()
{
int (*opt)(int,int) = op2('+');//get_op('*');//op('*');
cout<<op('+')(1,2)<<endl;
cout<<opt(1,2)<<endl;
cout<<pf_op()('+')(1,2)<<endl;
cout<<pf_op2()('+')(1,2)<<endl;
return 0;
}
C++ 返回函數(shù)指針的函數(shù)
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門瓜喇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人歉糜,你說我怎么就攤上這事乘寒。” “怎么了匪补?”我有些...
- 文/不壞的土叔 我叫張陵伞辛,是天一觀的道長。 經(jīng)常有香客問我夯缺,道長始锚,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任喳逛,我火速辦了婚禮瞧捌,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己姐呐,他們只是感情好殿怜,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著曙砂,像睡著了一般头谜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鸠澈,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蓬网!你這毒婦竟也來了窒所?” 一聲冷哼從身側響起,我...
- 正文 年R本政府宣布,位于F島的核電站问慎,受9級特大地震影響萍摊,放射性物質發(fā)生泄漏。R本人自食惡果不足惜如叼,卻給世界環(huán)境...
- 文/蒙蒙 一冰木、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦踊沸、人聲如沸歇终。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽评凝。三九已至,卻和暖如春腺律,著一層夾襖步出監(jiān)牢的瞬間奕短,已是汗流浹背。 一陣腳步聲響...