मैं हमेशा सोच रहा था कि क्यों दो सरल भाषाओं की सामग्री को स्वैप करना इतना आसान और बुनियादी ऑपरेशन कई भाषाओं के लिए अंतर्निहित नहीं है।क्यों एक स्वैप/एक्सचेंज ऑपरेटर अनिवार्य या ओओ भाषाओं जैसे सी/सी ++/सी #/जावा में मौजूद नहीं है ...?
यह कंप्यूटर विज्ञान कक्षाओं में सबसे बुनियादी प्रोग्रामिंग अभ्यासों में से एक है; इसका उपयोग कई एल्गोरिदम (जैसे सॉर्टिंग) में किया जाता है; हर अब और फिर किसी को इसकी आवश्यकता होती है और किसी को अस्थायी चर का उपयोग करना चाहिए या टेम्पलेट/जेनेरिक फ़ंक्शन का उपयोग करना चाहिए।
यह कई प्रोसेसर पर भी एक मूल मशीन निर्देश है, ताकि अस्थायी चर के साथ मानक योजना अनुकूलित हो सके।
असाइनमेंट ऑपरेटरों की तरह कई कम स्पष्ट ऑपरेटर बनाए गए हैं (उदा। + =, जो संचयी मशीन निर्देशों को प्रतिबिंबित करने के लिए संभवतः बनाया गया था, उदाहरण के लिए कुल्हाड़ी, बीएक्स जोड़ें), या ?? ऑपरेटर सी # में।
तो, कारण क्या है? या यह वास्तव में मौजूद है, और मैं हमेशा इसे याद किया?
अच्छे प्रश्न। मैंने इसके बारे में भी सोचा है, हालांकि प्रतिक्रियाएं समझ में आती हैं। – pro3carp3
एसडब्ल्यूएपी कथन * क्यूबासिक में मौजूद है *। – dan04
'स्वैप दो चर' मैक्रो से अधिक दिलचस्प कुछ ऐसा होगा जो अल्पविराम ऑपरेटर की तरह व्यवहार करता था, लेकिन जिसका मूल्य पहले ऑपरेंड का था। कल्पना करें कि ऑपरेटर को "=:" के रूप में लिखा गया था (मैं वास्तव में नहीं जानता कि नोटेशन क्या अच्छा होगा)। फिर "x = (y =: y = x)" x और y स्वैप करेगा। अन्य उपयोग होंगे, उदा। "वापसी (वाई =: वाई + = 4)" अवधारणात्मक रूप से बाद में वृद्धि ऑपरेटर के समान होगी, लेकिन एक के बजाय 4 से बढ़ती है। – supercat