Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में टेम्पलेट्स और स्टैटिक वेरिएबल्स


इस ट्यूटोरियल में, हम C++ में टेम्पलेट्स और स्टैटिक वेरिएबल्स को समझने के लिए एक प्रोग्राम पर चर्चा करेंगे।

फंक्शन और क्लास टेम्पलेट्स के मामले में, टेम्पलेट के प्रत्येक इंस्टेंस (instance) का स्टैटिक वेरिएबल्स की अपनी स्थानीय प्रति (local copy) होती है।

उदाहरण

#include <iostream>
using namespace std;

template <typename T>
void fun(const T& x) {
    static int i = 10;
    cout << ++i;
    return;
}

int main() {
    fun<int>(1);  // प्रिंट: 11
    cout << endl;
    fun<int>(2);  // प्रिंट: 12 (इसी इंस्टेंस का स्टैटिक वेरिएबल)
    cout << endl;
    fun<double>(1.1); // प्रिंट: 11 (नए इंस्टेंस का अलग स्टैटिक वेरिएबल)
    cout << endl;
    return 0;
}

आउटपुट

11
12
11

व्याख्या

  • fun<int> का पहला कॉल: स्टैटिक i 10 से 11 होता है।
  • fun<int> का दूसरा कॉल: वही i 11 से 12 होता है।
  • fun<double> का कॉल: double के लिए टेम्पलेट का एक अलग इंस्टेंस बनता है, जिसका अपना स्टैटिक i होता है (फिर से 10 से शुरू होकर 11 होता है)।

यह दर्शाता है कि प्रत्येक टेम्पलेट इंस्टेंसिएशन के लिए स्टैटिक वेरिएबल्स स्वतंत्र होते हैं।

  1. C++ में वृत्त और आयत के ओवरलैप की जांच C++ में वृत्त और आयत के ओवरलैप की जांच

    मान लीजिए हमारे पास एक वृत्त है जिसे (त्रिज्या, xc, yc) से दर्शाया जाता है, जहां (xc, yc) केंद्र के निर्देशांक हैं। हमारे पास एक अक्ष-संरेखित आयत भी है जिसे (x1, y1, x2, y2) से दर्शाया जाता है, जहां (x1, y1) निचले-बाएं कोने के निर्देशांक हैं और (x2, y2) ऊपरी-दाएं कोने के निर्देशांक हैं। हमें जांचना

  1. C++ में डोमिनो और ट्रोमिनो टाइलिंग C++ में डोमिनो और ट्रोमिनो टाइलिंग

    मान लीजिए हमारे पास दो प्रकार के आकार हैं, डोमिनो और ट्रोमिनो। उन्हें नीचे दिखाए अनुसार घुमाया जा सकता है:एक टाइलिंग में, प्रत्येक वर्ग को एक टाइल द्वारा कवर किया जाना चाहिए। यहां दो टाइलिंग तभी अलग हैं जब बोर्ड पर दो 4-दिशात्मक आसन्न सेल हों जैसे कि उन टाइलिंग में से केवल एक में दोनों वर्ग एक टाइल

  1. - Java में क्लास और स्टेटिक वेरिएबल्स

    परिचयक्लास वेरिएबल्स को स्टेटिक वेरिएबल्स के रूप में भी जाना जाता है, और उन्हें static कीवर्ड की मदद से एक मेथड के बाहर घोषित किया जाता है।स्टेटिक वेरिएबल वह है जो क्लास के सभी इंस्टेंस के लिए सामान्य है। वेरिएबल की एक सिंगल कॉपी सभी ऑब्जेक्ट्स के बीच साझा की जाती है।उदाहरणpublic class Demo{ sta