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

C++ में इंलाइन फंक्शन के लाभ


C++ इंलाइन फंक्शन एक शक्तिशाली अवधारणा है जिसे आमतौर पर क्लासेस के साथ उपयोग किया जाता है। यदि कोई फंक्शन इंलाइन है, तो कंपाइलर उस फंक्शन के कोड की एक प्रति को प्रत्येक उस बिंदु पर रखता है जहां कंपाइल टाइम पर फंक्शन को कॉल किया जाता है।

इंलाइन फंक्शन में कोई भी परिवर्तन फंक्शन के सभी क्लाइंट को पुनः कंपाइल करने की आवश्यकता हो सकती है क्योंकि कंपाइलर को एक बार फिर से सभी कोड को बदलना होगा अन्यथा यह पुरानी कार्यक्षमता के साथ जारी रहेगा।

किसी फंक्शन को इंलाइन करने के लिए, फंक्शन नाम से पहले इंलाइन कीवर्ड रखें और फंक्शन को किसी भी कॉल से पहले परिभाषित करें। यदि परिभाषित फंक्शन एक लाइन से अधिक है तो कंपाइलर इंलाइन क्वालिफायर को अनदेखा कर सकता है।

क्लास परिभाषा में एक फंक्शन परिभाषा, इंलाइन स्पेसिफायर के उपयोग के बिना भी एक इंलाइन फंक्शन परिभाषा है।

निम्नलिखित एक उदाहरण है, जो दो संख्याओं में से अधिकतम वापस करने के लिए इंलाइन फंक्शन का उपयोग करता है:

उदाहरण

#include <iostream> using namespace std; inline int Max(int x, int y) {    return (x > y)? x : y; } // प्रोग्राम के लिए मुख्य फंक्शन int main() {    cout << "Max (20,10): " << Max(20,10) << endl;    cout << "Max (0,200): " << Max(0,200) << endl;    cout << "Max (100,1010): " << Max(100,1010) << endl;    return 0; }

आउटपुट

Max (20,10): 20 Max (0,200): 200 Max (100,1010): 1010

आइए अब देखते हैं कि हमारे कोड में इंलाइन फंक्शन का उपयोग करने के क्या लाभ हैं:

  • यहां फंक्शन कॉल ओवरहेड नहीं होता।

  • यह स्टैक पर पुश और पॉप वेरिएबल के ओवरहेड को बचाता है, जब फंक्शन को कॉल किया जाता है।

  • यह फंक्शन से रिटर्न कॉल के ओवरहेड को बचाता है।

  • जब एक इंलाइन फंक्शन बनाया जाता है, तो कंपाइलर फंक्शन के बॉडी पर संदर्भ-विशिष्ट ऑप्टिमाइज़ेशन कर सकता है। इस तरह के ऑप्टिमाइज़ेशन सामान्य फंक्शन के लिए नहीं किए जाते।

  • छोटे इंलाइन फंक्शन का उपयोग एम्बेडेड सिस्टम के लिए उपयोगी हो सकता है, क्योंकि इंलाइन फंक्शन कॉल प्रीएंबल और रिटर्न से कम कोड दे सकता है।

  1. - C++ में इंलाइन फ़ंक्शन्स

    C++ इंलाइन फ़ंक्शन एक शक्तिशाली अवधारणा है जिसे आमतौर पर क्लासेस के साथ उपयोग किया जाता है। यदि कोई फ़ंक्शन इंलाइन है, तो कंपाइलर उस फ़ंक्शन के कोड की एक कॉपी प्रत्येक बिंदु पर रखता है जहां कंपाइल समय पर फ़ंक्शन को कॉल किया जाता है। इंलाइन फ़ंक्शन में कोई भी परिवर्तन फ़ंक्शन के सभी क्लाइंट्स को पुन

  1. - C++ में log() फ़ंक्शन

    C/C++ लाइब्रेरी फ़ंक्शन double log(double x) x का नेचुरल लॉगरिदम (बेस e लॉगरिदम) लौटाता है। log() फ़ंक्शन के लिए घोषणा निम्नलिखित है। double log(double x) पैरामीटर एक फ्लोटिंग पॉइंट मान है। और यह फ़ंक्शन x का नेचुरल लॉगरिदम लौटाता है। उदाहरण #include <iostream> #include <cmath> using

  1. - C++ में swap() फ़ंक्शन

    swap() फ़ंक्शन दो संख्याओं को स्वैप (अदला-बदली) करने के लिए उपयोग किया जाता है। तीसरे वेरिएबल की आवश्यकता नहीं होती। <algorithm> या <utility> हेडर में परिभाषित (C++11 से)। सिंटैक्स void swap(Type& a, Type& b); उदाहरण 1: मान द्वारा पास (मान बदलते नहीं) #include <bits/stdc++.