प्रीफिक्स संस्करण में (यानी, ++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
ऐसा क्यों है? आइए इसे विस्तार से देखें –
- x को 3 से इनिशियलाइज़ करें
- y को x++ एक्सप्रेशन का मूल्यांकन करके प्राप्त मान असाइन करें, यानी इन्क्रीमेंट से पहले x का मान फिर x को इन्क्रीमेंट करें।
- x को इन्क्रीमेंट करें फिर ++x एक्सप्रेशन का मूल्यांकन करके प्राप्त मान z को असाइन करें, यानी इन्क्रीमेंट के बाद x का मान।
- इन मानों को प्रिंट करें