Here's an example of a program in C++ to compute the factorial of a number at compile time using only C++03:
#include <iostream>

template <int N>
struct Factorial {
  enum { value = N * Factorial<N - 1>::value };
};

template <>
struct Factorial<0> {
  enum { value = 1 };
};

int main() {
  std::cout << "The factorial of 5 is " << Factorial<5>::value << std::endl;
  return 0;
}

This program uses a technique called template metaprogramming, which allows you to perform computations at compile time. The Factorial template defines a recursive structure that calculates the factorial of N by multiplying N by the factorial of N - 1. The specialization of Factorial for N = 0 provides the base case, which returns a value of 1.
นี่คือตัวอย่างของโปรแกรมในภาษา C++ เพื่อคำนวณแฟกทอเรียลของตัวเลข ณ เวลาคอมไพล์โดยใช้เพียง C++03: #include <iostream> template <int N> struct Factorial { enum { value = N * Factorial<N - 1> ::ค่า }; }; แม่แบบ <> struct Factorial<0> { แจกแจง { ค่า = 1 }; }; int main() { std::cout << "แฟกทอเรียลของ 5 คือ " << แฟกทอเรียล<5>::value << std::endl; กลับ 0; } โปรแกรมนี้ใช้เทคนิคที่เรียกว่า template metaprogramming ซึ่งช่วยให้คุณสามารถคำนวณได้ในเวลาคอมไพล์ เทมเพลตแฟกทอเรียลกำหนดโครงสร้างแบบเรียกซ้ำที่คำนวณแฟกทอเรียลของ N โดยการคูณ N ด้วยแฟกทอเรียลของ N - 1 ความเชี่ยวชาญพิเศษของแฟกทอเรียลสำหรับ N = 0 จะให้กรณีพื้นฐาน ซึ่งส่งกลับค่า 1
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence