मेरे पास एक साधारण वर्ग है:क्या गेटटर की शून्य लागत है?
class A {
public:
int get() const;
private:
void do_something();
int value;
}
int A::get() const {
return value;
}
गेटर फ़ंक्शन सरल और सीधा है। गेटर्स का उपयोग करना है, इसलिए value
तक पहुंचने के लिए मुझे dzs28 में get()
का उपयोग करना चाहिए। मेरा सवाल है: क्या कंपाइलर गेटटर को ऑप्टिमाइज़ करेगा, तो यह सीधे डेटा तक पहुंचने के बराबर होगा? या अगर मैं इसे सीधे एक्सेस करता हूं तो मैं अभी भी प्रदर्शन प्राप्त करूंगा (क्या बदतर डिज़ाइन का संकेत देगा)?
A::do_something()
{
x = get();
// or...
x = value;
}
असली सवाल, ज़ाहिर है, * क्या इससे कोई फर्क पड़ता है *? क्योंकि अगर ऐसा नहीं होता है, तो कौन परवाह करता है? और यदि ऐसा होता है, तो केवल आप जांच सकते हैं कि आपका विशेष कंपाइलर अनुकूलन करता है या नहीं। –