如何通过switch语句进行性能优化剖析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2076个文字,预计阅读时间需要9分钟。
前言:几乎每本面向初学者的C语言或C++书籍在前两章都会提到分支控制语句if……else和switch……case,这两种分支控制语句在特定情况下可以互相替换,但很少有人深入探讨if……else的内部机制。
前言
几乎每本面向初学者的C语言或C++书籍在前面两章都会提到分支控制语句if……else和switch……case,在某些情况下这两种分支控制语句可以互相替换,但却很少有人去深究在if……else和switch……case语句的背后到底有什么异同?应该选择哪一个语句才能使得效率最高?要回答这些问题,只能走到switch语句的背后,看看这些语句到底是怎么实现的。
基本格式
switch语句的基本格式如下:
switch (表达式) {
case 常量表达式1:《语句序列1》《break;》 //《》中的内容可省
……
case 常量表达式n:《语句序列n》《break;》 //同上,下同
《default:语句序列》
}
其中:
- 表达式——称为“条件表达式”,用作判断条件,取值为整型、字符型、布尔型或枚举型。
- 常量表达式——由常量构成,取值类型与条件表达式相同。
- 语句序列——可以是一个语句也可以是一组语句。
本文共计2076个文字,预计阅读时间需要9分钟。
前言:几乎每本面向初学者的C语言或C++书籍在前两章都会提到分支控制语句if……else和switch……case,这两种分支控制语句在特定情况下可以互相替换,但很少有人深入探讨if……else的内部机制。
前言
几乎每本面向初学者的C语言或C++书籍在前面两章都会提到分支控制语句if……else和switch……case,在某些情况下这两种分支控制语句可以互相替换,但却很少有人去深究在if……else和switch……case语句的背后到底有什么异同?应该选择哪一个语句才能使得效率最高?要回答这些问题,只能走到switch语句的背后,看看这些语句到底是怎么实现的。
基本格式
switch语句的基本格式如下:
switch (表达式) {
case 常量表达式1:《语句序列1》《break;》 //《》中的内容可省
……
case 常量表达式n:《语句序列n》《break;》 //同上,下同
《default:语句序列》
}
其中:
- 表达式——称为“条件表达式”,用作判断条件,取值为整型、字符型、布尔型或枚举型。
- 常量表达式——由常量构成,取值类型与条件表达式相同。
- 语句序列——可以是一个语句也可以是一组语句。

