Day23

函数指标只要参数与返回值相同是可以随时指向一个新的函数如前所说的max, min,当然C++作为那个站在鄙视链顶端的语言(汗),当然要有更风骚的套路,函数指标+阵列迸出新滋味,比如我们有三个函数A, B , C 它们的参数都是int无法返回值,因为它们的型态都一样自然可以用同类型的函数指标随意指向任何一个函数

void (*func)( int );
func=function_A;
func(99);
func=function_B;
func(99);
func=function_C;
func(99);

或是玩更有趣一点,乾脆创造一个函数指标"阵列"存放三个函数,接着就像读取阵列元素一样呼叫函数

//创造一个函数指标"阵列f包含三个function,A/B/C
void (*f[ 3 ])( int ) = { function_A, function_B, function_C };
cout << "输入0~2选择你要执行的函数,超过程序会直接退出";
cin >> choice;
//while回圈只要choice<=2就会执行对应的函数
while ( ( choice >= 0 ) && ( choice < 3 ) ) 
{
        (*f[ choice ])( choice ); 
        cout << "Choice your fun between 0 ~ 2, or exit under 2";
        cin >> choice;
}

原始码: examples


<<:  Day#20 Dependencies & conversation UI

>>:  学习笔记:一起进入 PixiJS 的世界 (一)

B+树索引实战篇-Part2(联合索引的扫描区间与边界条件)

此篇由於篇幅的关系为前文的连贯。 如没有看到前文请先去看看再来唷~ 前情提要-我们前面为了方便解释,...

Android x Kotlin : 简易实作第一堂-滚动式选单NumberPicker

简介 滚动式选单依然是常用基本元件之一,使用起来也非常容易。直接上图。 选项里面可以放Int或Str...

Day-1 前言&Excel介面简介

今年要跟大家分享我觉得大学生必学也必须要知道的30个Excel技巧,首先我先自我介绍一下我自己。 我...

【左京淳的JAVA WEB学习笔记】第七章 AJAX与JSON格式

AJAX指的是局部更新页面的技术,例如按了赞之後图示会变成实心的,按赞数也会增加之类的。 这个技术是...

利用大数据分析预测MLB胜负(下)

在上一篇文章中,我们介绍了作者最终挑选模了Elastic net (L1+L2) penalty r...