কম্পিউটার

C++ এ টেমপ্লেট মেটাপ্রোগ্রামিং


>

উদাহরণ কোড

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


  1. fabs() C++ এ

  2. C++ ব্যবহার করে একটি পাওয়ার (পাউ) ফাংশন লিখুন

  3. expm1() C++ এ

  4. log1p() C++ এ