C++ 中 switch()括号内的类型有哪些?

string 类型不可以吧

switch语句的格式为:

switch(条件)语句

1,条件的类型可以是:
整数类型,枚举类型,或者类类型(但该类需要有单一的转换到整数类型或(可以是字符类型,但不能是浮点类型、字符串、指针类型等),语句部分不一定非得是一条复合语句。
2,举个例子:switch("123"[2]+(int)3.1);是条合法的switch语句,switch(j)case 5:i++;也是条合法的switch语句。如果switch的语句部分是一条非复合语句,则其内定义的变量作用域,效果上等同于该条语句加上了{}。如int i=3;switch(i)int i=4;,相当于int i=3;switch(i){int i=4;}

C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-28
只要能计算出最终结果的表达式都可以做switch的参数!
第2个回答  2010-03-28
case后的类型只能是int(或char)或是枚举(或“”引起来的字符串)。. 所以Switch中的类型可以是,int,char,枚举,或是引用类型string
第3个回答  2010-03-28
switch语句的格式为:

switch(条件)语句

其中,条件的类型可以是整数类型,枚举类型,或者类类型(但该类需要有单一的转换到整数类型或(可以是字符类型,但不能是浮点类型、字符串、指针类型等),语句部分不一定非得是一条复合语句。因此,switch("123"[2]+(int)3.1);是条合法的switch语句,switch(j)case 5:i++;也是条合法的switch语句。如果switch的语句部分是一条非复合语句,则其内定义的变量作用域,效果上等同于该条语句加上了{}。如int i=3;switch(i)int i=4;,相当于int i=3;switch(i){int i=4;},因此这并不会导致同一局部域下的重复定义错误。本回答被提问者采纳
相似回答