Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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

उपरोक्त उदाहरण में, जब संकलक शक्ति देखता है<7>::मान, यह 7 के रूप में पैरामीटर के साथ शक्ति का एक उदाहरण बनाने की कोशिश करता है, तो यह पता चलता है कि शक्ति<6> को भी बनाया जाना चाहिए क्योंकि संकलन समय पर गणना स्थिर मूल्य का मूल्यांकन किया जाना चाहिए . शक्ति के लिए<6>, संकलक को शक्ति की आवश्यकता होती है<5>और इसी तरह। अंत में, कंपाइलर funStruct<1>::value का उपयोग करता है और कंपाइल टाइम रिकर्सन टर्मिनेट करता है। इसे टेम्प्लेट मेटाप्रोग्रामिंग कहा जाता है।


  1. C++ . का उपयोग करके एक पावर (पाउ) फ़ंक्शन लिखें

    पावर फ़ंक्शन का उपयोग आधार और घातांक दो संख्याओं को दी गई घात ज्ञात करने के लिए किया जाता है। परिणाम घातांक की शक्ति के लिए उठाया गया आधार है। इसे प्रदर्शित करने वाला एक उदाहरण इस प्रकार है - Base = 2 Exponent = 5 2^5 = 32 Hence, 2 raised to the power 5 is 32. एक प्रोग्राम जो C++ में पावर फंक्शन

  1. Expm1 () सी ++ में

    फ़ंक्शन expm1() का उपयोग किसी भी संख्या घटाकर एक की घात तक बढ़ाए गए घातांक की गणना के लिए किया जाता है। यह (ए की घात में बढ़ाए गए घातांक) का मान लौटाता है - 1. यहाँ Expm1(), . का गणितीय व्यंजक है expm1(a) = (e^a) - 1 यहाँ C++ भाषा में expm1() का सिंटैक्स दिया गया है, float expm1(variable_name); य

  1. log1p () सी++ में

    फ़ंक्शन log1p() का उपयोग (a+1) के प्राकृतिक लघुगणक (आधार ई लघुगणक) की गणना के लिए किया जाता है, जहां a कोई भी संख्या है। यह (a+1) के प्राकृतिक लघुगणक का मान लौटाता है। जब हम -1 से कम मान पास करते हैं तो यह एक संख्या नहीं (नैन) देता है। यहाँ log1p(), . का गणितीय व्यंजक है log1p(a) = base-e log(a+1)