C++ এ অনেক ধরনের অপারেটর রয়েছে। এগুলিকে বিস্তৃতভাবে শ্রেণীবদ্ধ করা যেতে পারে:পাটিগণিত, রিলেশনাল, লজিক্যাল, বিটওয়াইজ, অ্যাসাইনমেন্ট এবং অন্যান্য অপারেটর৷
পাটিগণিত অপারেটর
ধরুন ভেরিয়েবল A 10 ধারণ করে এবং ভেরিয়েবল B 20 ধরে, তারপর −
অপারেটর | বিবরণ |
+ | দুটি অপারেন্ড যোগ করে৷ A + B 30 দিবে |
- | প্রথম থেকে দ্বিতীয় অপারেন্ড বিয়োগ করে৷ A - B -10 দিবে |
* | উভয় অপারেন্ডকে গুণ করে। A*B 200 দিবে |
/ | ডি-লব দ্বারা লব ভাগ করে৷ B/A দিবেন 2 |
% | মডুলাস অপারেটর এবং একটি পূর্ণসংখ্যা বিভাগের পরে অবশিষ্টাংশ। B% A 0 দেবে |
++ | ইনক্রিমেন্ট অপারেটর, পূর্ণসংখ্যার মান এক দ্বারা বৃদ্ধি করে৷ A++ দেবে 11 |
-- | ডিক্রিমেন্ট অপারেটর, পূর্ণসংখ্যার মান এক দ্বারা হ্রাস করে৷ A-- 9 দেবে |
রিলেশনাল অপারেটর
ধরুন ভেরিয়েবল A 10 ধারণ করে এবং ভেরিয়েবল B 20 ধরে, তারপর −
অপারেটর | বিবরণ |
== | দুটি অপারেন্ডের মান সমান কিনা তা পরীক্ষা করে, যদি হ্যাঁ হয় তবে শর্ত সত্য হয়৷ (A ==B) সত্য নয়। |
!= | দুটি অপারেন্ডের মান সমান কি না তা পরীক্ষা করে, যদি মান সমান না হয় তবে শর্ত সত্য হয়ে যায়৷ (A !=B) সত্য৷ |
> | চেক করে যে বাম অপারেন্ডের মান ডান অপারেন্ডের মানের থেকে বেশি কিনা, যদি হ্যাঁ হয় তবে শর্ত সত্য হয়৷ (A> B) সত্য নয়৷ |
< | বাম অপারেন্ডের মান ডান অপারেন্ডের মানের থেকে কম কিনা তা পরীক্ষা করে, যদি হ্যাঁ হয় তবে শর্ত সত্য হয়৷ (A |
>= | বাম অপারেন্ডের মান ডান অপারেন্ডের মানের চেয়ে বেশি বা সমান কিনা তা পরীক্ষা করে, যদি হ্যাঁ হয় তবে শর্ত সত্য হয়৷ (A>=B) সত্য নয়৷ |
<= | বাম অপারেন্ডের মান ডান অপারেন্ডের মানের থেকে কম বা সমান কিনা তা পরীক্ষা করে, যদি হ্যাঁ হয় তবে শর্ত সত্য হয়৷ (A <=B) সত্য৷ |
লজিক্যাল অপারেটর
ধরুন ভেরিয়েবল A 1 ধারণ করে এবং ভেরিয়েবল B 0 ধরে, তারপর −
অপারেটর | বিবরণ |
&& | যৌক্তিক এবং অপারেটর বলা হয়৷ যদি উভয় অপারেন্ড অ-শূন্য হয়, তাহলে শর্ত সত্য হয়ে যায়। (A &B) মিথ্যা। |
|| | যাকে বলা হয় লজিক্যাল বা অপারেটর৷ যদি দুটি অপারেন্ডের যে কোনো একটি অ-শূন্য হয়, তাহলে শর্ত সত্য হয়ে যায়। (A || B) সত্য। |
! | যাকে বলা হয় লজিক্যাল নয় অপারেটর৷ এর অপারেন্ডের যৌক্তিক অবস্থাকে বিপরীত করতে ব্যবহার করুন। যদি একটি শর্ত সত্য হয়, তাহলে Logical NOT অপারেটর মিথ্যা করবে।!(A &&B) সত্য। |
বিটওয়াইজ অপারেটর
বিটওয়াইজ অপারেটর বিটগুলিতে কাজ করে এবং বিট-বাই-বিট অপারেশন করে। &, |, এবং ^-এর সত্য সারণী নিম্নরূপ।
pqp & qp | qp ^ q 00000 01011 11110 10011
অনুমান করুন যদি A =60; এবং B =13; এখন বাইনারি বিন্যাসে, তারা নিম্নরূপ হবে −
A = 0011 1100 B = 0000 1101 ----------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~A = 1100 0011
অপারেটর | বিবরণ |
& | বাইনারী এবং অপারেটর ফলাফলে কিছুটা কপি করে যদি এটি উভয় অপারেন্ডে বিদ্যমান থাকে। (A এবং B) 12 দেবে যা 0000 1100 |
| | বাইনারি বা অপারেটর কিছুটা কপি করে যদি এটি যেকোনো একটি অপারেন্ডে থাকে। (A | B) 61 দেবে যা 0011 1101 |
^ | বাইনারি XOR অপারেটর বিটটি কপি করে যদি এটি একটি অপারেন্ডে সেট করা থাকে তবে উভয়টিতে নয়। (A^B) 49 দেবে যা 0011 0001 |
~ | বাইনারী ওয়ানস কমপ্লিমেন্ট অপারেটর ইউনারী এবং এতে 'ফ্লিপিং' বিটের প্রভাব রয়েছে। (~A) দেবে -61 যা একটি সাইনড বাইনারি সংখ্যার কারণে 2 এর পরিপূরক আকারে 1100 0011। . |
<< | বাইনারী বাম শিফট অপারেটর। বাম অপারেন্ডের মান ডান অপারেন্ড দ্বারা নির্দিষ্ট করা বিটের সংখ্যা দ্বারা বামে সরানো হয়। A <<2 240 দেবে যা 1111 0000 |
>> | বাইনারী রাইট শিফট অপারেটর। বাম অপারেন্ডের মান ডান অপারেন্ড দ্বারা নির্দিষ্ট করা বিটের সংখ্যা দ্বারা ডানদিকে সরানো হয়। A>> 2 15 দেবে যা 0000 1111 |
অ্যাসাইনমেন্ট অপারেটর
অপারেটর | বিবরণ |
= | সাধারণ অ্যাসাইনমেন্ট অপারেটর, ডান পাশের অপারেন্ড থেকে বাম পাশের অপারেন্ডে মান বরাদ্দ করে। C =A + B A + B এর মান C তে বরাদ্দ করবে |
+= | এড এবং অ্যাসাইনমেন্ট অপারেটর যোগ করুন, এটি বাম অপারেন্ডে ডান অপারেন্ড যোগ করে এবং বাম অপারেন্ডে ফলাফল বরাদ্দ করে। C +=A হল C =C + A এর সমতুল্য |
-= | বিয়োগ এবং অ্যাসাইনমেন্ট অপারেটর, এটি বাম অপারেন্ড থেকে ডান অপারেন্ড বিয়োগ করে এবং বাম অপারেন্ডে ফলাফল বরাদ্দ করে। C -=A হল C =C - A এর সমতুল্য |
*= | গুন এবং অ্যাসাইনমেন্ট অপারেটর, এটি ডান অপারেন্ডকে বাম অপারেন্ডের সাথে গুণ করে এবং বাম অপারেন্ডে ফলাফল বরাদ্দ করে। C *=A হল C =C * A এর সমতুল্য |
/= | ডিভাইড এবং অ্যাসাইনমেন্ট অপারেটর, এটি ডান অপারেন্ডের সাথে বাম অপারেন্ডকে ভাগ করে এবং বাম অপারেন্ডে ফলাফল বরাদ্দ করে। C /=A হল C =C / A এর সমতুল্য |
%= | মডুলাস এবং অ্যাসাইনমেন্ট অপারেটর, এটি দুটি অপারেন্ড ব্যবহার করে মডুলাস নেয় এবং বাম অপারেন্ডে ফলাফল বরাদ্দ করে। C %=A হল C =C % A এর সমতুল্য |
<<= | লেফট শিফট এবং অ্যাসাইনমেন্ট অপারেটর। C <<=2 হল C =C <<2 এর মত |
>>= | Right shift AND assignment operator.C>>=2 C =C>> 2 এর মতই |
&= | Bitwise AND assignment operator.C &=2 হল C =C &2 এর মতই |
^= | Bitwise exclusive OR এবং অ্যাসাইনমেন্ট অপারেটর। C ^=2 হল C =C ^ 2 এর মত |
|= | Bitwise inclusive OR এবং assignment operator.C |=2 হল C =C এর মতই 2 |
বিবিধ অপারেটর
Sr.No | অপারেটর |
1 | অপারেটরের আকার একটি ভেরিয়েবলের আকার প্রদান করে। উদাহরণস্বরূপ, sizeof(a), যেখানে 'a' হল পূর্ণসংখ্যা, এবং 4 ফেরত দেবে। |
2 | শর্তসাপেক্ষ অপারেটর (?:) যদি শর্ত সত্য হয় তবে এটি X এর মান প্রদান করে অন্যথায় Y এর মান প্রদান করে। |
3 | কমা অপারেটর সঞ্চালিত অপারেশন একটি ক্রম কারণ. সম্পূর্ণ কমা অভিব্যক্তির মান হল কমা দ্বারা পৃথক করা তালিকার শেষ অভিব্যক্তির মান। |
4 | (ডট) এবং → (তীর) সদস্য অপারেটরগুলি ক্লাস, কাঠামো এবং ইউনিয়নের পৃথক সদস্যদের উল্লেখ করতে ব্যবহৃত হয়। |
5 | () - কাস্টিং অপারেটররা একটি ডেটা টাইপকে অন্য ডেটাতে রূপান্তর করে। উদাহরণস্বরূপ, int(2.2000) 2 ফেরত দেবে। |
6 | পয়েন্টার অপারেটর এবং একটি ভেরিয়েবলের ঠিকানা প্রদান করে। যেমন &a; ভেরিয়েবলের আসল ঠিকানা দেবে। |
7 | পয়েন্টার অপারেটর * একটি পরিবর্তনশীল নির্দেশক. যেমন *var; একটি পরিবর্তনশীল var নির্দেশক হবে. |