如何在开关语句中使用 cin "as a parameter"



我希望能够使用 cin 创建一个开关语句,而不必创建一个变量来存储输入的值。例如:

switch(cin){
case 1: std::cout << "Hello World";
break;
default:
break;
}
我希望

能够使用 cin 创建一个开关语句?不,你不能像switch期望的那样只期望integral数量,但cin是类的对象。从 n4296 第 6.4 节

开关(条件(语句

condition作为 switch语句是声明变量的值(如果它有( integralenumeration类型,或隐式转换的变量 否则为整数或枚举类型。条件的值 即表达式是表达式的值,上下文中 转换为 switch 以外的语句的 bool;如果该转换 格式不正确,程序格式不正确。

由于我上面提到的原因,switch(cin)会导致错误,但您可以使用任何返回integer的方法,例如 cin.get()

例如
switch(std::cin.get()) {
   /*... */
}

最新更新