Articles of goto

Dirección de tags (MSVC)

Estamos escribiendo un código de bytes para un lenguaje comstackdo de alto nivel, y después de un poco de perfilado y optimización, quedó claro que la sobrecarga de rendimiento más grande actual es la statement de cambio que estamos usando para saltar a los casos de código de bytes. Investigamos la extracción de la dirección […]

c99 pasó a la inicialización

Al depurar un locking, encontré este problema en algún código: int func() { char *p1 = malloc(…); if (p1 == NULL) goto err_exit; char *p2 = malloc(…); if (p2 == NULL) goto err_exit; … err_exit: free(p2); free(p1); return -1; } El problema ocurre cuando falla el primer malloc. Debido a que saltamos la inicialización de […]

Use GOTO o no?

Actualmente estoy trabajando en un proyecto donde las declaraciones goto se usan ampliamente. El propósito principal de las declaraciones goto es tener una sección de limpieza en una rutina en lugar de declaraciones de devolución múltiples. Como abajo: BOOL foo() { BOOL bRetVal = FALSE; int *p = NULL; p = new int; if (p […]

Alternativa a una statement goto en Java

¿Cuál es una función alternativa para la palabra clave goto en Java? Dado que Java no tiene un goto.

¿Hay una statement “goto” en bash?

¿Hay una statement “goto” en bash? Sé que se considera una mala práctica, pero necesito específicamente “goto”.

¿Hay una statement goto en Java?

Estoy confundido acerca de esto. A la mayoría de nosotros nos han dicho que no hay ninguna statement goto en Java. Pero descubrí que es una de las palabras clave en Java. ¿Donde puede ser usado? Si no se puede usar, ¿por qué se incluyó en Java como palabra clave?

¿Se usarán goto variables de fuga?

¿Es cierto que goto salta a través de bits de código sin llamar destructores y cosas? p.ej void f() { int x = 0; goto lol; } int main() { f(); lol: return 0; } ¿No se filtrará x ?

¿Uso válido de goto para la gestión de errores en C?

Esta pregunta es en realidad el resultado de una discusión interesante en programming.reddit.com hace un tiempo. Básicamente se reduce al siguiente código: int foo(int bar) { int return_value = 0; if (!do_something( bar )) { goto error_1; } if (!init_stuff( bar )) { goto error_2; } if (!prepare_stuff( bar )) { goto error_3; } return_value […]

¿Qué hay de malo con el uso de goto?

Posibles duplicados: ¿Por qué es malo usar goto? GOTO todavía se considera perjudicial? Estaba recorriendo xkcd y vi este (si también leí algunos textos negativos sobre ellos hace algunos años): ¿Qué está realmente mal con eso? ¿Por qué son incluso posibles en C ++? ¿Por qué no debería usarlos?

Ejemplos de buenos gotos en C o C ++

En este hilo, vemos ejemplos de buenos usos de goto en C o C ++. Está inspirado en una respuesta que la gente votó porque pensaban que estaba bromeando. Resumen (etiqueta cambiada del original para hacer la intención aún más clara): infinite_loop: // code goes here goto infinite_loop; Por qué es mejor que las alternativas: […]