我希望能够使用 cin 创建一个开关语句,而不必创建一个变量来存储输入的值。例如:
switch(cin){
case 1: std::cout << "Hello World";
break;
default:
break;
}
能够使用 cin 创建一个开关语句?不,你不能像switch
期望的那样只期望integral
数量,但cin
是类的对象。从 n4296 第 6.4 节
开关(条件(语句
condition
作为switch
语句是声明变量的值(如果它有(integral
或enumeration
类型,或隐式转换的变量 否则为整数或枚举类型。条件的值 即表达式是表达式的值,上下文中 转换为 switch 以外的语句的bool
;如果该转换 格式不正确,程序格式不正确。
由于我上面提到的原因,switch(cin)
会导致错误,但您可以使用任何返回integer
的方法,例如 cin.get()
switch(std::cin.get()) {
/*... */
}