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