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 या स्ट्रिंग हैलो वर्ल्ड दोनों शाब्दिक हैं। एक स्थिरांक एक डेटा प्रकार है जो एक शाब्दिक स्थानापन्न करता है। स्थिरांक का उपयोग तब किया जाता है जब कार्यक्रम के दौरान एक विशिष्ट, अपरिवर्तनीय मूल्य का कई बार उपयोग कि

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

    उपसर्ग संस्करण (यानी, ++i) में, i का मान बढ़ा हुआ है, और व्यंजक का मान i का नया मान है। तो मूल रूप से यह पहले इंक्रीमेंट करता है और फिर एक्सप्रेशन को एक मान प्रदान करता है। पोस्टफिक्स संस्करण (यानी, i++) में, i का मान बढ़ा हुआ है, हालांकि, व्यंजक का {value|the value} यह है कि i का मूल मान है। तो मू

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

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