मैं संकलन समय पर फैक्टोरियल की गणना करना चाहता हूं। मुझे समस्या को हल करने का कोई तरीका मिला, लेकिन मैं जानना चाहता हूं कि इस समस्या के लिए enum
एस का उपयोग किए बिना कोई और समाधान है या नहीं। यहां enum
एस का उपयोग कर समाधान।संकलन समय पर संख्या फैक्टरियल की गणना करना संभव है, लेकिन बिना अंक के
#include <iostream>
template <int n>
struct fact
{
enum{value = n*fact<n-1>::value};
};
template<>
struct fact<1>
{
enum{value = 1};
};
int main()
{
std::cout << fact<10>::value;
}
अगर कोई एक समाधान है, तो बताएं कि enum
रों आवश्यक हैं।
http://en.wikipedia.org/wiki/Template_metaprogramming, यह [एक नमूना] (http है। संगठन/विकी/Template_metaprogramming # संकलन-समय_class_generation) – sehe