Switch语句和条件运算符c ++
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Switch语句和条件运算符c ++相关的知识,希望对你有一定的参考价值。
我的问是为什么当我们有(if else && else if)时使用switch语句和条件运算符
示例1:
unsigned short int any_number ;
any_number = ((15>0)? 10 : 5);//using here the conditional operator
if(15>0)//using if & else
any_number=10;
else
any_number=5;
示例2:
unsigned short int my_score;
std::cout << "what score you expect you got at the exam";
cin >> my_score;
switch(my_score)
case 90:
std::cout<<"awesome keep the good work"; break;
case 80 :
std::cout<<"study harder next time"; break ;
case 20:
std::cout << "quit school"; break;
if(my_score==90)
std::cout<<"awesome keep the good work";
else if (my_score==80)
std::cout<<"study harder next time";
else if (my_score==20)
std::cout << "quit school";
除了它的成本更低之外,使用swith和条件运算符的行更少,我觉得它们根本没有用,我更喜欢(如果不是),它给我们提供了更多的空间,如果有一个,我可以不加区别地找我吗?
答案
主要原因是可读性
较长的if else序列有时比switch语句更难于阅读和维护。
顺便说一句,性能差异肯定会在现代编译器创建的生产代码中消失。
?:构造允许您执行ifs中无法表达的事情>
cout << (j>42?"a":"b")
例如
另一答案
开关盒更快!为此,您可以使用这两种结构来编写两个功能上等效的代码,然后比较编译后的汇编代码。
以上是关于Switch语句和条件运算符c ++的主要内容,如果未能解决你的问题,请参考以下文章