example2_compile_time_calculations.cpp

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#include <iostream>

constexpr int fibonacci(int n) {
    return (n <= 1) ? n : fibonacci(n-1) + fibonacci(n-2);
}

int main() {
    constexpr int result = fibonacci(10);
    static_assert(result == 55, "Fibonacci calculation is incorrect");
    
    std::cout << "The 10th Fibonacci number is: " << result << std::endl;
    return 0;
}
Back to static_assert