Sobes.tech
Junior — Senior
63

Определение времени вычисления: компиляция vs выполнение

Условие задачи

Нужно выяснить, какие части приведённого кода будут вычислены на этапе компиляции, а какие — во время выполнения.

constexpr int constFact(unsigned value) {
    if (value == 0) {
        return 1;
    }
    return constFact(value - 1) * value;
}

std::cout << constFact(5) << std::endl;

constexpr int result = constFact(5);
std::cout << result << std::endl;