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