প্রিফিক্স ভার্শন (যেমন ++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-কে ৩ দিয়ে ইনিশিয়ালাইজ করা হয়y-কেx++এক্সপ্রেশন ইভ্যালুয়েট করে অ্যাসাইন করা হয়, অর্থাৎx-এর ইনক্রিমেন্টের আগের মান, তারপরxইনক্রিমেন্ট হয়xইনক্রিমেন্ট হয় তারপরz-কে++xএক্সপ্রেশন ইভ্যালুয়েট করে অ্যাসাইন করা হয়, অর্থাৎ ইনক্রিমেন্টের পরেরx-এর মান- এই মানগুলো প্রিন্ট করা হয়