++ এর প্রত্যয় এবং উপসর্গ সংস্করণের মধ্যে একটি বড় পার্থক্য রয়েছে।
- উপসর্গ সংস্করণে (অর্থাৎ, ++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++ এক্সপ্রেশনের মূল্যায়ন করে আমরা যে মানটি পাই তা নির্ধারণ করুন, অর্থাৎ, বৃদ্ধির আগে x এর মান তারপর x বৃদ্ধি করুন।
- ইনক্রিমেন্ট x তারপরে ++x এক্সপ্রেশন মূল্যায়ন করে আমরা যে মানটি পাই তা z বরাদ্দ করি, অর্থাৎ বৃদ্ধির পরে x এর মান।
- এই মানগুলি প্রিন্ট করুন