स्टेटिक मेटाप्रोग्रामिंग (उर्फ "टेम्पलेट मेटाप्रोग्रामिंग") एक महान सी ++ तकनीक है जो संकलन-समय पर प्रोग्रामों को निष्पादित करने की अनुमति देती है। एक प्रकाश बल्ब के रूप में जल्द मेरे सिर में बंद हो गई के रूप में मैं इस विहित metaprogramming उदाहरण पढ़ें:सी ++ टेम्पलेट मेटाप्रोग्रामिंग के लिए सर्वश्रेष्ठ परिचय?
#include <iostream>
using namespace std;
template< int n >
struct factorial { enum { ret = factorial< n - 1 >::ret * n }; };
template<>
struct factorial<0> { enum { ret = 1 }; };
int main() {
cout << "7! = " << factorial<7>::ret << endl; // 5040
return 0;
}
एक सी ++ स्थिर metaprogramming के बारे में अधिक जानने के लिए चाहता है, क्या सबसे अच्छा स्रोत हैं (किताबें, वेबसाइटों, ऑनलाइन कोर्सवेयर , जो कुछ)?
लाइटबुल 'बंद' या 'चालू' चला गया? – horseyguy
बंद। निश्चित रूप से बंद –