यौगिक असाइनमेंट ऑपरेटरों को फॉर्म e1 op=e2 में निर्दिष्ट किया गया है, जहां e1 एक परिवर्तनीय l-मान है जो const प्रकार का नहीं है और e2 निम्न में से एक है -
- एक अंकगणितीय प्रकार
- एक सूचक, यदि op + या – है
e1 op=e2 प्रपत्र e1 =e1 op e2 के रूप में व्यवहार करता है, लेकिन e1 का मूल्यांकन केवल एक बार किया जाता है।
C++ में निम्नलिखित कंपाउंड असाइनमेंट ऑपरेटर हैं -
संचालक वें> <वें शैली ="चौड़ाई:82.2169%;">विवरण वें> | |
---|---|
*= | पहले ऑपरेंड के मान को दूसरे ऑपरेंड के मान से गुणा करें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
/= | पहले ऑपरेंड के मान को दूसरे ऑपरेंड के मान से विभाजित करें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
%= | दूसरे ऑपरेंड के मान द्वारा निर्दिष्ट पहले ऑपरेंड का मापांक लें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
+= | दूसरे ऑपरेंड के मान को पहले ऑपरेंड के मान में जोड़ें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
–= | दूसरे ऑपरेंड के मान को पहले ऑपरेंड के मान से घटाएं; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
<<= | पहले ऑपरेंड के मान को शिफ्ट करें, दूसरे ऑपरेंड के मान द्वारा निर्दिष्ट बिट्स की संख्या छोड़ दें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
>>= | पहले ऑपरेंड के मान को दूसरे ऑपरेंड के मान द्वारा निर्दिष्ट बिट्स की संख्या को दाईं ओर शिफ्ट करें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
&= | पहले और दूसरे ऑपरेंड के बिटवाइज़ और प्राप्त करें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
^= | बिटवाइज एक्सक्लूसिव या पहले और दूसरे ऑपरेंड का प्राप्त करें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
|= | बिटवाइज इनक्लूसिव या पहले और दूसरे ऑपरेंड का प्राप्त करें; परिणाम को पहले ऑपरेंड द्वारा निर्दिष्ट ऑब्जेक्ट में संग्रहीत करें। |
उदाहरण
आइए इनमें से कुछ ऑपरेटरों का उपयोग करके एक उदाहरण देखें -
#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 का मूल्यांकन करता है। यदि बायां संकार्य एक अभिन्न प्रकार का है, तो दायां संकार्य एक सूचक का नहीं होना चाहिए टाइप करें।