新手问:有没可以替换的方法,关于switch-------case

2020-01-20 19:11发布

switch(flg)
{
    case flg1:
    {
        function1();
        break;
    }
    case flg2:
    {
        function2();
        break;
    }
  case flg3:
    {
        function3();
        break;
    }
    :
    :
    :
  case flgN:
    {
        functionN();
        break;
    }
    default:break;

}
请问这种情况,当flgN数目很多时,有没其他方法代替?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
Feeling_MCU
1楼-- · 2020-01-22 17:22
函数指针数组了
mystudy
2楼-- · 2020-01-22 19:26
再次置顶,期望新惊喜
nicksean
3楼-- · 2020-01-22 23:27
函数参数个数不同, 我觉得还是11楼的方法可以, 想想 MFC里的windows事件处理函数全都是两个参数, 实际使用时还不是强制类型转换的, 所以这应该是个解决办法.
rainyss
4楼-- · 2020-01-22 23:30
 精彩回答 2  元偷偷看……
mystudy
5楼-- · 2020-01-23 00:23
switch case
生成的代码是较长的吧
mljda
6楼-- · 2020-01-23 04:59
似乎和if else 一样代码长度,但可读性更好。

如果各个程序块比较大,用程序指针要合理些。排版更紧密更可读。

可读性是高级语言的一大重点。

一周热门 更多>