关于switch语句

switch语句有两种情况,一种情况是switch中的事件号是连续的,另外一种是事件号不连续。

对于连续的事件号和非连续的事件号,得到的结论是,连续事件号,处理的速度更快。
对于连续事件号来讲,default这个选项执行的速度最快,因为首先就要判断是否是default事件,不是default,才去跳转执行其他事件。

连续事件号的switch 语句的跳转,核心的思想,就是跳转表,通过和第一个事件的偏移量,来定位跳转表的index,根据跳转表中的地址,跳转到相应的处理函数。

对于非连续的事件号,switch 语句的跳转要复杂,本质根据二叉搜索来定位跳转的地址。(非连续也是局部连续的,如果全部乱序呢?)

你可能感兴趣的:(关于switch语句)