>
উদাহরণ কোড
#include <iostream>
using namespace std;
template<int n>struct power {
enum { value = 4*power<n-1>::value };
};
template<>struct power<0> {
enum { value = 1 };
};
int main() {
cout <<”power is:”<< power<7>::value << endl;
return 0;
} আউটপুট
power is:16384
উপরের উদাহরণে, কম্পাইলার যখন power<7>::value দেখে, তখন এটি 7 হিসাবে পরামিতি সহ পাওয়ারের একটি উদাহরণ তৈরি করার চেষ্টা করে, দেখা যাচ্ছে যে power<6>ও তৈরি করা আবশ্যক কারণ গণনার ধ্রুবক মান কম্পাইলের সময় মূল্যায়ন করা আবশ্যক। . পাওয়ারের জন্য<6>, কম্পাইলারকে পাওয়ার দরকার<5>ইত্যাদি। অবশেষে, কম্পাইলার funStruct <1>::value ব্যবহার করে এবং কম্পাইল টাইম রিকারশন টার্মিনেট করে। একে টেমপ্লেট মেটাপ্রোগ্রামিং বলে।