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

C++ प्रोग्राम में i++ और ++i में प्रदर्शन अंतर है क्या?


i++ और ++i का प्रभावी परिणाम समान है। एकमात्र अंतर यह है कि i++ मान को असाइन करने के बाद i के मान को बढ़ाता है, और ++i के लिए, यह पहले मान को बढ़ाता है, फिर उसका मान असाइन करता है। हम निम्नलिखित कोड में अंतर देख सकते हैं।

उदाहरण कोड

#include<iostream> using namespace std; int main() {    int x = 3, y, z;    y = x++;    z = ++x;    cout << x << ", " << y << ", " << z;    return 0; }

आउटपुट

5, 3, 5

अब, सवाल आता है कि चूंकि वे समान कार्य करते हैं लेकिन अलग क्रम में, तो क्या कोई प्रदर्शन समस्या है या दोनों समान हैं?

खैर, इन ऑपरेशंस का प्रदर्शन अंतर्निहित आर्किटेक्चर पर अत्यधिक निर्भर करता है। एक मेमोरी में संग्रहीत मान को बढ़ा रहा है, इसका मतलब वॉन-न्यूमैन बॉटलनेक मूल रूप से दोनों मामलों में सीमित कारक है।

हालांकि हम कह सकते हैं कि ++i, i++ की तुलना में थोड़ा तेज है। i++ इंक्रीमेंट करने से पहले i के मान की स्थानीय कॉपी लेता है, जबकि ++i कभी नहीं करता। कभी-कभी कुछ कंपाइलर कोड को ऑप्टिमाइज़ करते हैं यदि संभव हो। लेकिन वह ऑप्टिमाइज़ेशन हमेशा प्रभावी नहीं होता, या सभी कंपाइलर यह काम नहीं करते।

  1. - C++ में लिटरल और कॉन्स्टेंट में क्या अंतर है?

    एक लिटरल वह मान है जो स्वयं के रूप में व्यक्त किया जाता है। उदाहरण के लिए, संख्या 25 या स्ट्रिंग Hello World दोनों लिटरल हैं। एक कॉन्स्टेंट एक डेटा प्रकार है जो लिटरल को प्रतिस्थापित करता है। कॉन्स्टेंट्स का उपयोग तब किया जाता है जब किसी विशिष्ट, अपरिवर्तनीय मान का उपयोग प्रोग्राम के दौरान कई बार क

  1. - C++ में प्रीफिक्स और पोस्टफिक्स ऑपरेटर्स में क्या अंतर है?

    प्रीफिक्स संस्करण में (यानी, ++i), i का मान बढ़ाया जाता है, और एक्सप्रेशन का मान i का नया मान होता है। तो मूल रूप से यह पहले इन्क्रीमेंट करता है फिर एक्सप्रेशन को मान असाइन करता है। पोस्टफिक्स संस्करण में (यानी, i++), i का मान बढ़ाया जाता है, हालांकि, एक्सप्रेशन का मान i का मूल मान होता है। तो मूल

  1. - C++ में ++i और i++ में क्या अंतर है?

    ++ के सफ़िक्स और प्रीफिक्स संस्करणों के बीच एक बड़ा अंतर है। प्रीफिक्स संस्करण में (यानी, ++i), i का मान बढ़ाया जाता है, और एक्सप्रेशन का मान i का नया मान होता है। तो मूल रूप से यह पहले इन्क्रीमेंट करता है फिर एक्सप्रेशन को मान असाइन करता है। पोस्टफिक्स संस्करण में (यानी, i++), i का मान बढ़ाया जात