Punto de conocimiento 1 de C++: múltiple en caso contrario, ¿se puede reemplazar con un interruptor?

La declaración de cambio se usa principalmente cuando hay una variable que debe compararse con múltiples valores posibles.

Es necesario que se cumplan las siguientes condiciones:

1. Variable: necesita tener una variable que se pueda comparar en múltiples situaciones.

2. Valores discretos: las condiciones en cada rama if-else if deben ser valores discretos, no rangos ni condiciones complejas.

3. Comparación de equivalencia: la declaración de cambio se utiliza principalmente para realizar una comparación de igualdad, es decir, cada rama se compara con el valor de la variable.

La comparación del código es la siguiente.

Múltiples estructuras if-else if anidadas se convierten en declaraciones de cambio

int number = 2;

if (number == 1) {
    // Do something for case 1
} else if (number == 2) {
    // Do something for case 2
} else if (number == 3) {
    // Do something for case 3
} else {
    // Default case
}



int number = 2;

switch (number) {
    case 1:
        // Do something for case 1
        break;
    case 2:
        // Do something for case 2
        break;
    case 3:
        // Do something for case 3
        break;
    default:
        // Default case
        break;
}

Cabe señalar que la declaración de cambio requiere una declaración de interrupción después de cada caso para evitar que el flujo de ejecución continúe a través de otras ramas.

-------------------------------------------------- --------------------------------


La declaración de cambio es adecuada para la comparación de igualdad de una variable. Si la condición implica la comparación de dos variables, generalmente no es adecuado utilizar la declaración de cambio. La declaración de cambio solo se puede utilizar para comparar una única variable con múltiples valores posibles.

Si necesita comparar dos variables, aún necesita usar la estructura if-else if.

int x = 5;
int y = 3;

if (x == 1 && y == 2) {
    // Do something for case (x = 1, y = 2)
} else if (x == 3 && y == 4) {
    // Do something for case (x = 3, y = 4)
} else if (x == 5 && y == 6) {
    // Do something for case (x = 5, y = 6)
} else {
    // Default case
}

En resumen, si necesita comparar múltiples variables o usar condiciones complejas, la estructura if-else if puede ser más apropiada, mientras que la instrucción switch es adecuada para comparaciones de igualdad y solo para una única variable.
 

Supongo que te gusta

Origin blog.csdn.net/pingchangxin_6/article/details/132298404
Recomendado
Clasificación