কমা অপারেটর উদ্দেশ্য হলো একাধিক এক্সপ্রেশন একসাথে স্ট্রিং করা। কমা-সেপারেটেড এক্সপ্রেশন লিস্টের ভ্যালু হলো সবচেয়ে ডান পাশের এক্সপ্রেশনের ভ্যালু। অন্যতমভাবে, কমার ইফেক্ট হলো এক সিকোয়েন্স অফ অপারেশন পারফর্ম করানো।
অন্য এক্সপ্রেশনগুলো ভ্যালু ডিসকার্ড হয়। অর্থাৎ ডান পাশের এক্সপ্রেশনটি পুরো কমা-সেপারেটেড এক্সপ্রেশনের ভ্যালু হয়। উদাহরণস্বরূপ:
var = (count = 19, incr = 10, count+1);
এখানে প্রথমে count-এ ১৯ অ্যাসাইন হয়, incr-এ ১০ অ্যাসাইন হয়, তারপর count-এ ১ যোগ হয়, এবং অবশেষে var-এ ডান পাশের এক্সপ্রেশন count+1-এর ভ্যালু ২০ অ্যাসাইন হয়। প্যারেন্থেসিস আবশ্যক কারণ কমা অপারেটরের প্রসিডেন্স অ্যাসাইনমেন্ট অপারেটরের চেয়ে কম।
কমা অপারেটরের ইফেক্ট দেখতে নিচের প্রোগ্রাম রান করুন।
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
int i, j;
j = 10;
i = (j++, j+100, 999+j);
cout << i;
return 0;
}
আউটপুট
1010
i-এর ভ্যালু কীভাবে ক্যালকুলেট হয়েছে তার প্রক্রিয়া: j শুরুতে ১০। j ইনক্রিমেন্ট হয়ে ১১ হয়। তারপর j যোগ হয় ১০০-এর সাথে। অবশেষে j (এখনও ১১) যোগ হয় ৯৯৯-এর সাথে, যা দিয়ে ১০১০ রেজাল্ট আসে।