开关

根据 C++标准,

switch 语句根据条件的值将控制转移到多个语句之一。

关键字 switch 后面跟一个带括号的条件和一个块,它可能包含 case 标签和一个可选的 default 标签。执行 switch 语句时,控制权将转移到 case 标签,其值与条件(如果有)的值相匹配,或转移到 default 标签(如果有)。

条件必须是表达式或声明,它具有整数或枚举类型,或具有转换函数为整数或枚举类型的类类型。

char c = getchar();
bool confirmed;
switch (c) {
  case 'y':
    confirmed = true;
    break;
  case 'n':
    confirmed = false;
    break;
  default:
    std::cout << "invalid response!\n";
    abort();
}