请问各位高手C++的switch语句怎么优化?

mmcsy 2008-03-23 11:16:43
优化方法没有限制,哪怕是改用其他的语言描述,只要能提高运行速度

注:case是1~8的八个数字
...全文
238 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2008-03-27
  • 打赏
  • 举报
回复
几种种情况:
1)在switch...case的条件很多的情况下, 使用函数指针可以优化效能;但不幸的是; 一个成功的编译器会替您这样作; 该方法并不一定适合于一个优化很成功的编译器, 最好看看最后的Release版本中关于switch的处理;
2)通过剖分软件, 将执行比较频繁的条件分支放到前面, 以加大命中的可能;
3)很多情况下, 通过算法可以避免switch...case的使用;
如果仅仅是单纯1..8的数, 可以考虑用函数指针
九桔猫 2008-03-25
  • 打赏
  • 举报
回复
性能上没啥优化的必要了。
「已注销」 2008-03-25
  • 打赏
  • 举报
回复
个人认为SWITCH语句的效率已经够高了
cnzdgs 2008-03-23
  • 打赏
  • 举报
回复
编译器会给你优化,对于case n(n为连续整数的情况),编译器会定义一个指针数组,每个元素为一个case标号的地址,switch语句编译为跳转到以n为下标的数组元素指向的地址。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧