В JavaScript действует следующий оператор.
switch(true) {
case a > b:
max = a;
break;
case a < b:
max = b;
break;
default:
max = a;
}
Но на языках программирования C/С++, когда я пишу этот оператор, компилятор дает мне ошибку, показывающую, что оператор case должен состоять из постоянных значений. Иногда в особых случаях писать такие сообщения switch-case было бы очень полезно, но C/С++ не позволит мне это сделать.
Теперь мне любопытно узнать, в чем смысл этого, чтобы не использовать значения переменных в утверждениях case?