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