According to the C++ standard,
The
switch
statement causes control to be transferred to one of several statements depending on the value of a condition.
The keyword switch
is followed by a parenthesized condition and a block, which may contain case
labels and an optional default
label. When the switch statement is executed, control will be transferred either to a case
label with a value matching that of the condition, if any, or to the default
label, if any.
The condition must be an expression or a declaration, which has either integer or enumeration type, or a class type with a conversion function to integer or enumeration type.
char c = getchar();
bool confirmed;
switch (c) {
case 'y':
confirmed = true;
break;
case 'n':
confirmed = false;
break;
default:
std::cout << "invalid response!\n";
abort();
}