Constantes de tiempo de ejecución y tiempo de compilación en C++

Constante de tiempo de ejecución :

Estas son las constantes cuyos valores respectivos solo pueden conocerse o calcularse en el momento de ejecutar el código fuente. Las constantes de tiempo de ejecución son un poco más lentas que las constantes de tiempo de compilación, pero son más flexibles que las constantes de tiempo de compilación. Sin embargo, una vez que se inicializa, el valor de estas constantes no se puede cambiar.

A continuación se muestra el programa para la ilustración de las constantes de tiempo de ejecución:

C++

// C++ program to illustrate
// Run-time Constants
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
    // Input a variable
    double electonmass;
    cin >> electonmass;
  
    // Define a constant
    // and initialize it at
    // run-time
    const double electon_mass{ electonmass };
  
    // Known to the compiler
    // at the run-time
    cout << electon_mass << endl;
  
    return 0;
}
Producción:

2.07335e-317

Constante de tiempo de compilación :

Estas son las constantes cuyo valor respectivo se conoce o calcula en el momento de la compilación del código fuente. Las constantes de tiempo de compilación son más rápidas que las constantes de tiempo de ejecución, pero son menos flexibles que las constantes de tiempo de ejecución.

A continuación se muestra el programa para ilustrar la constante de tiempo de compilación:

C++

// C++ program to illustrate
// compile-time constants
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
    // Declare and initialize
    // compile time constant
    const double electron_q{ 1.6e-19 };
  
    // Value known to compiler
    // at compile-time
    cout << electron_q << endl;
  
    return 0;
}
Producción:

1.6e-19

Diferencia entre tiempo de ejecución y constantes de tiempo de compilación

                            Constantes de tiempo de compilación                                      Constantes de tiempo de ejecución                  
1. Una constante de tiempo de compilación es un valor que se calcula en el momento de la compilación.  Considerando que, una constante de tiempo de ejecución es un valor que se calcula solo en el momento en que se ejecuta el programa.
2. Una constante de tiempo de compilación tendrá el mismo valor cada vez que se ejecute el código fuente.

Una constante de tiempo de ejecución puede tener un valor diferente cada vez que se ejecuta el código fuente.

3

Generalmente se usa al declarar un tamaño de array.

No se prefiere para declarar un tamaño de array.

4 Si usa const int size = 5 para definir una expresión de caso , se ejecutará sin problemas y no producirá ningún error en tiempo de compilación. Aquí, si usa una constante de tiempo de ejecución en su código fuente para definir la expresión de caso, producirá un error de tiempo de compilación.
5 No produce ningún error de tiempo de compilación cuando se usa para inicializar un enumerador.

Mismo error de compilación, si se usa la constante de tiempo de ejecución para inicializar un enumerador.

Publicación traducida automáticamente

Artículo escrito por madhav_mohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *