কম্পিউটার টিউটোরিয়াল

C++-এ ++i এবং i++ এর পার্থক্য


সাফিক্স এবং প্রিফিক্স ভার্সনের ++-এর মধ্যে একটি বড় পার্থক্য রয়েছে।

  • প্রিফিক্স ভার্সনে (অর্থাৎ, ++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-এর মান।
  • এই মানগুলো প্রিন্ট করুন
  1. C++-এ cin এবং cout স্ট্রিমের পার্থক্য

  2. C++-এ ডট (.) অপারেটর এবং -> (অ্যারো) অপারেটরের পার্থক্য

  3. C#-এ পাস বাই ভ্যালু (Pass by Value) এবং রেফারেন্স প্যারামিটার (Reference Parameters) এর পার্থক্য

  4. C#-এ ডিক্লেয়ারেশন (Declaration) এবং ডেফিনিশন (Definition) এর পার্থক্য