কম্পাউন্ড অ্যাসাইনমেন্ট অপারেটরগুলি e1 op=e2 ফর্মে নির্দিষ্ট করা হয়েছে, যেখানে e1 হল একটি পরিবর্তনযোগ্য l-মান যা const প্রকারের নয় এবং e2 হল নিম্নলিখিতগুলির মধ্যে একটি -
- একটি গাণিতিক প্রকার
- একটি পয়েন্টার, যদি op হয় + বা –
e1 op=e2 ফর্মটি e1 =e1 op e2 হিসাবে আচরণ করে, কিন্তু e1 শুধুমাত্র একবারই মূল্যায়ন করা হয়৷
নিম্নলিখিত কম্পাউন্ড অ্যাসাইনমেন্ট অপারেটরগুলি C++ -
অপারেটর | বিবরণ |
---|---|
*= | প্রথম অপারেন্ডের মানকে দ্বিতীয় অপারেন্ডের মান দিয়ে গুণ করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
/= | প্রথম অপারেন্ডের মানকে দ্বিতীয় অপারেন্ডের মান দিয়ে ভাগ করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
%= | দ্বিতীয় অপারেন্ডের মান দ্বারা নির্দিষ্ট করা প্রথম অপারেন্ডের মডুলাস নিন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
+= | প্রথম অপারেন্ডের মানের সাথে দ্বিতীয় অপারেন্ডের মান যোগ করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
–= | প্রথম অপারেন্ডের মান থেকে দ্বিতীয় অপারেন্ডের মান বিয়োগ করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
<<= | প্রথম অপারেন্ডের মান পরিবর্তন করুন দ্বিতীয় অপারেন্ডের মান দ্বারা নির্দিষ্ট বিটের সংখ্যা ছেড়ে দিন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
>>= | প্রথম অপারেন্ডের মানটি দ্বিতীয় অপারেন্ডের মান দ্বারা নির্দিষ্ট বিটের সংখ্যার ডানদিকে স্থানান্তর করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
&= | প্রথম এবং দ্বিতীয় অপারেন্ডের বিটওয়াইজ AND প্রাপ্ত করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
^= | প্রথম এবং দ্বিতীয় অপারেন্ডের বিটওয়াইজ এক্সক্লুসিভ OR প্রাপ্ত করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
|= | প্রথম এবং দ্বিতীয় অপারেন্ডের বিটওয়াইজ ইনক্লুসিভ OR প্রাপ্ত করুন; প্রথম অপারেন্ড দ্বারা নির্দিষ্ট বস্তুতে ফলাফল সংরক্ষণ করুন। |
উদাহরণ
আসুন এই অপারেটরগুলির কিছু ব্যবহার করে একটি উদাহরণ দেখি -
#include<iostream> using namespace std; int main() { int a = 3, b = 2; a += b; cout << a << endl; a -= b; cout << a << endl; a *= b; cout << a << endl; a /= b; cout << a << endl; return 0; }
আউটপুট
এটি আউটপুট দেবে −
5 3 6 3
মনে রাখবেন যে একটি গণনাকৃত প্রকারের যৌগিক নিয়োগ একটি ত্রুটি বার্তা তৈরি করে। যদি বাম অপারেন্ডটি একটি পয়েন্টার টাইপের হয়, ডান অপারেন্ডটি অবশ্যই একটি পয়েন্টার টাইপের হতে হবে বা এটি অবশ্যই একটি ধ্রুবক অভিব্যক্তি হতে হবে যা 0 তে মূল্যায়ন করে৷ যদি বাম অপারেন্ডটি একটি অবিচ্ছেদ্য প্রকারের হয় তবে ডান অপারেন্ডটি অবশ্যই একটি পয়েন্টারের হতে হবে না টাইপ করুন।