>
উদাহরণ কোড
#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 ব্যবহার করে এবং কম্পাইল টাইম রিকারশন টার্মিনেট করে। একে টেমপ্লেট মেটাপ্রোগ্রামিং বলে।