सदस्य चर या स्थानीय चर का उपयोग करने के लिए कक्षा के लिए यह अधिक कुशल है? उदाहरण के लिए, मान लीजिए कि आपके पास एक (कॉलबैक) विधि है जिसका एकमात्र ज़िम्मेदारी डेटा प्राप्त करना है, उस पर गणना करना है, फिर इसे अन्य कक्षाओं में भेज दें। निष्पादन के अनुसार, क्या सदस्य चर के रूप में यह समझने में अधिक समझदारी होगी कि विधि डेटा के रूप में पॉप्युलेट हो जाती है? या कॉलबैक विधि कहने पर हर बार स्थानीय चर घोषित करें?स्थानीय चर के विरुद्ध सदस्य चरों तक पहुंचने के सी ++ प्रदर्शन
मान लें इस विधि सैकड़ों बार एक दूसरे ही कहा जाता है ...
मामले में मैं स्पष्ट नहीं किया जा रहा हूँ, यहाँ कुछ त्वरित उदाहरण है:
// use local variables
class thisClass {
public:
void callback(msg& msg)
{
int varA;
double varB;
std::string varC;
varA = msg.getInt();
varB = msg.getDouble();
varC = msg.getString();
// do a bunch of calculations
}
};
// use member variables
class thisClass {
public:
void callback(msg& msg)
{
m_varA = msg.getInt();
m_varB = msg.getDouble();
m_varC = msg.getString();
// do a bunch of calculations
}
private:
int m_varA;
double m_varB;
std::string m_varC;
};
कोई अंतर लगभग निश्चित रूप से मूल्यों को पुनर्प्राप्त करने की लागत से निश्चित रूप से अस्पष्ट हो जाएगा। और एक सेकंड में कुछ सौ बार कुछ भी नहीं है। स्टैक फ्रेम की लागत * कॉल * आपके फ़ंक्शन को आपके द्वारा दिखाए गए कुछ भी बौने की संभावना होगी। समयपूर्व अनुकूलन की तरह बदबू आ रही है। – Shog9
पहले से ही डाउनवॉटेड - कठिन भीड़ आज रात – fizzer