class bar
{
int i;
char b;
float d;
};
void foo (bar arg);
void foo (bar &arg);
void foo (bar *arg);
यह एक नमूना वर्ग/struct और कार्यों
है द्वारा तर्क गुजर मैं कुछ Qs
- क्या 1 और गुजर के 2 रास्ता के बीच का अंतर है 'asm', आकार, गति में तर्क?
- प्रत्येक मामले में फू को फ़ंक्शन को कैसे पारित किया जाता है (पॉइंटर के मामले में मुझे पता है कि पॉइंटर स्टैक पर धक्का दिया जाता है)
- तर्कों को पार करते समय, गति (आकार, प्राथमिकता) पर दक्षता के संदर्भ में, बेहतर है ?
- इंटेल 'एएसएम' वाक्यविन्यास क्या है जो तर्क पारित करने के प्रत्येक तरीके से मेल खाता है?
मुझे पता है कि "आधुनिक कंपाइलर्स और सीपीयू पर कोई फर्क नहीं पड़ता" के बारे में सबसे ज्यादा क्या कहना है, लेकिन अगर हम पुराने CPUs या compilers के बारे में बात कर रहे हैं तो क्या होगा? (गति, स्मृति के उपयोग और उत्पन्न कोड में दोनों) अग्रिम
सीपीयू कोई फर्क नहीं पड़ता। मूल्य से गुजरने के लिए सभी के लिए अधिक काम शामिल है लेकिन सूचक के आकार से छोटे प्रकार के होते हैं। Cnicutar से जवाब देखें। –
यह आधुनिक सीपीयू के साथ-साथ पुराने सीपीयू पर भी महत्वपूर्ण है।ध्यान दें कि x86 अपने पुराने सुधारों के साथ एक पुराना सीपीयू भी है, इसमें पुरानी स्कूल के सामान की उचित मात्रा है जिसे इसे विशेष रूप से इस विषय से संबंधित करना है। Cnicutar के पास इतना अच्छा जवाब है कि यह दोहराना या rephrasing लायक नहीं है। –