Skip to content
Related Articles

Related Articles

Runtime and Compile-time constants in C++
  • Last Updated : 19 Oct, 2020

Run-time Constant:

These are the constants whose respective values can only be known or computed at the time of running of source code. Run time Constants are a bit slower than compile-time constants but are more flexible than compile-time constants. However, once it is initialized, the value of these constants can’t be changed.

Below is the program for illustration of Runtime constants:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Output:

2.07335e-317

Compile-time Constant:



These are the constants whose respective value is known or computed at the time of compilation of source code. Compile-time constants are faster than run-time constants but are less flexible than run-time constants.

Below is the program for illustration of Compile-time Constant:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Output:

1.6e-19

Difference between Run-time and Compile-time constants

                            Compile-time constants                                      Run-time constants                  
1. A compile-time constant is a value that is computed at the compilation-time.  Whereas, A runtime constant is a value that is computed only at the time when the program is running.
2. A compile-time constant will have the same value each time when the source code is run.

A runtime constant can have a different value each time the source code is run.

3

It is generally used while declaring an array size.

It is not preferred for declaring an array size.

4 If you use const int size = 5 for defining a case expression it would run smoothly and won’t produce any compile-time error. Here, if you use run-time constant in your source code for defining case expression then it will yield a compile-time error.
5 It does not produces any compile time error when used for initializing an enumerator.

Same compilation error, if runtime constant is used for initializing an enumerator.

Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :