कुछ कंप्यूटर अनुप्रयोग-विज्ञान के कागजात और परीक्षण में, मैं स्वैप() इतना तरह कार्यान्वित देखें:स्वैप() कभी-कभी सरणी पास करके लागू क्यों किया जाता है?
void swap(int x, int y, int *a)
{
int t = a[x];
a[x] = a[y];
a[y] = t;
}
क्यों नहीं बस यह इतना तरह लागू:
void swap(int& x, int& y)
{
int t = x;
x = y;
y = t;
}
पूर्व करने के लिए विचार करने के लिए है कॉलिंग कोड क्लीनर, पहले दो तर्कों के लिए सरणी में अनुक्रमणित नहीं कर रहा है? मुझे एहसास है कि यह एक बहुत ही महत्वपूर्ण सवाल नहीं है, क्योंकि हमें std :: swap() का उपयोग करना चाहिए, लेकिन मैं अभी भी उत्सुक हूं।
जावा? क्या यह एक प्रोग्रामिंग भाषा है? ;) – ybungalobill
जावा के मामले में, यह केवल कॉल-बाय-रेफरेंस नहीं बल्कि इन्फिक्स पॉइंटर्स समर्थित है जो समर्थित नहीं हैं। अधिकांश (सभी?) कचरा-एकत्रित भाषाएं उन्हें मना करती हैं क्योंकि वे जीसी के लिए हैंडल करने के लिए एक गड़बड़ हैं। ये भाषाएं स्वाभाविक रूप से आपको प्रश्न में पहली स्निपेट की शैली में लिखने के लिए प्रेरित करती हैं। –
@ पास्कल: सी # 'रेफरी पैरामीटर का समर्थन करता है। –