fbpx

¿Que tipo de pausa de pantalla es más eficiente en C++?

  • ¿Que tipo de pausa de pantalla es más eficiente en C++?

    Posted by Angel Sánchez on 10 noviembre, 2019 en 7:16 pm

    Hay varias diferencias:

    #include<stdlib.h>

    system( "pause > null" );

    Eso solo funciona si existe una orden pause que el intérprete de comandos del sistema operativo pueda ejecutar. En Linux, por ejemplo, da error de orden no encontrada.

    Además, usa mas recursos que las demás: necesita llamar a un programa externo (el intérprete de órdenes); si éste reconoce la orden, la ejecutará. Si no la reconoce, llamará a otro programa (o dará error). Un despilfarro, vamos.

    #include<conio.h>

    getch( );

    Esto no es portable. Depende de que la librería usada la proporcione, pero no podemos suponer que exista en todos los compiladores. Mismo ejemplo que en el anterior: en Linux, no funciona.

    #include<iostream>

    cin.get( );

    Esta es la forma correcta. Pertenece al estándar C++, por lo que estará presente en todos los compiladores que se ajusten a él.

    Fuente: stackoverflow.

    Angel Sánchez respondido 5 años 3 Miembros · 4 Respuestas
  • 4 Respuestas
  • Unknown Member

    Miembro
    10 noviembre, 2019 en 9:08 pm

    Desde mis inicios en C++ se me aconsejó no utilizar system(“pause”), ya que era una mala práctica. Ahora confirmo lo aprendido. 

    Había escuchado, mas no lo llegué a investigar, que incluso system(“pause”) puede causar conflictos mayores al sistema operativo. ¿Qué tan cierto es? Me imagino era una exageración a la gran cantidad de recursos que se consumen al utilizarlo.

    • Angel Sánchez

      organizador
      10 noviembre, 2019 en 9:44 pm

      No me ha pasado el caso, pero es muy probable que suceda. Por eso es mejor usar lo estándar, en este caso ´cin.get( );´

  • Carlos Ibarra

    Miembro
    16 diciembre, 2019 en 4:45 pm

    que hay de getchar()

    se podria usar tambien?

    • Angel Sánchez

      organizador
      16 diciembre, 2019 en 6:05 pm

      También lo podrías usar, varios lo utilizan con ese fin, hacer una pausa. Pero yo me quedaría con el estándar para evitar problemas.

Inicia sesión para responder.

Start of Discussion
0 de 0 respuestas Junio 2018
Ahora