void some_func(int param = get_default_param_value());
36
A
उत्तर
47
डिफ़ॉल्ट पैरामीटर अभिव्यक्तियों के पूर्ण सेट का सबसेट हो सकता है। यह संकलन समय और डिफ़ॉल्ट पैरामीटर की घोषणा के स्थान पर बाध्य होना चाहिए। इसका अर्थ यह है कि यह एक फ़ंक्शन कॉल या स्थैतिक विधि कॉल हो सकता है, और जहां तक वे स्थिरांक और/या वैश्विक चर या स्थैतिक वर्ग चर हैं, लेकिन सदस्य गुण नहीं हैं, तब तक यह किसी भी संख्या में तर्क ले सकता है।
तथ्य यह है कि यह संकलन समय पर और उस स्थान पर जहां फ़ंक्शन घोषित किया गया है, इसका अर्थ यह भी है कि यदि यह एक चर का उपयोग करता है, तो उस चर का उपयोग किया जाएगा, भले ही एक भिन्न चर मूल स्थान पर मूल हो फ़ंक्शन कॉल
// Code 1: Valid and invalid default parameters
int global = 0;
int free_function(int x);
class Test
{
public:
static int static_member_function();
int member_function();
// Valid default parameters
void valid1(int x = free_function(5));
void valid2(int x = free_function(global));
void valid3(int x = free_function(static_int));
void valid4(int x = static_member_function());
// Invalid default parameters
void invalid1(int x = free_function(member_attribute));
void invalid2(int x = member_function());
private:
int member_attribute;
static int static_int;
};
int Test::static_int = 0;
// Code 2: Variable scope
int x = 5;
void f(int a);
void g(int a = f(x)); // x is bound to the previously defined x
void h()
{
int x = 10; // shadows ::x
g(); // g(5) is called: even if local x values 10, global x is 5.
}
11
उन्हें होने की ज़रूरत नहीं है! एक निश्चित पैरामीटर कुछ सीमाओं के भीतर कोई अभिव्यक्ति हो सकती है। जब भी समारोह कहा जाता है तो इसका मूल्यांकन किया जाता है।
संबंधित मुद्दे
- 1. डेटटाइम वैकल्पिक पैरामीटर में डिफ़ॉल्ट मान क्या होना चाहिए?
- 2. आगे स्थिर फ़ंक्शन C++
- 3. C# डिफ़ॉल्ट पैरामीटर
- 4. जहां "शामिल" होना चाहिए C++
- 5. एक विधि स्थिर होना चाहिए?
- 6. क्यों प्रतिनिधि स्थिर होना चाहिए?
- 7. मुख्य स्थिर क्यों होना चाहिए?
- 8. C# Enum फ़ंक्शन पैरामीटर
- 9. टेम्पलेट पैरामीटर प्रकार होना चाहिए?
- 10. फ़ंक्शन टेम्पलेट में डिफ़ॉल्ट तर्क C++
- 11. फ़ंक्शन कितना छोटा होना चाहिए?
- 12. क्या डेटा संदर्भ स्थिर होना चाहिए?
- 13. क्या लॉगर निजी स्थिर होना चाहिए या
- 14. क्यों सी # ऑपरेटर अधिभार स्थिर होना चाहिए?
- 15. क्या C++ में टेम्पलेट पैरामीटर के रूप में कोई फ़ंक्शन (-नाम) होना संभव है?
- 16. वीबी फ़ंक्शन में वैकल्पिक पैरामीटर/डिफ़ॉल्ट मान पैरामीटर कैसे जोड़ें?
- 17. व्यूहोल्डर पैटर्न में क्यों ViewHolder क्लास स्थिर होना चाहिए?
- 18. क्या मुख्य वर्ग में हर विधि स्थिर होना चाहिए?
- 19. हैडोप में क्या मैपर और रेड्यूसर स्थिर वर्ग होना चाहिए?
- 20. एरलांग फ़ंक्शन कब ठीक होना चाहिए?
- 21. क्या डेटाबेस तालिका में डिफ़ॉल्ट मान होना चाहिए?
- 22. अब django नहीं है() डिफ़ॉल्ट समय क्षेत्र में होना चाहिए?
- 23. में सार्वजनिक पैरामीटर रहित कन्स्ट्रक्टर होना चाहिए, है ना?
- 24. अमेज़ॅन (एडब्लूएस) - अनुरोध में पैरामीटर हस्ताक्षर होना चाहिए
- 25. TypeError: फ़ंक्शन() तर्क * अनुक्रम होना चाहिए, जनरेटर नहीं
- 26. सी #: क्या एनम का डिफ़ॉल्ट मान कोई नहीं होना चाहिए या अज्ञात होना चाहिए?
- 27. C/C++ बनाम स्थिर वैश्विक
- 28. पैरामीटर में C++ covariance
- 29. संदिग्ध डिफ़ॉल्ट पैरामीटर आने पर C++ कंपाइलर क्या करता है?
- 30. enum वस्तुओं stateless होना चाहिए?
धन्यवाद मुद्दों में से अच्छा स्पष्टीकरण के लिए एक बहुत। –
मुझे एहसास नहीं हुआ कि आप वैश्विक चर का उल्लेख कर सकते हैं। Http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=/com.ibm.xlcpp8a.doc/language/ref/cplr237.htm और http: // msdn पर अच्छे संसाधन। microsoft.com/en-us/library/e1dbzf09(VS.80).aspx। –
यह फ़ंक्शन पॉइंटर के माध्यम से भी कॉल हो सकता है, यानी। अगर foo (int arg = (* fp)()); यहां, एफपी को उस क्षेत्र में देखा जाता है जहां foo घोषित किया जाता है, लेकिन * fp का मूल्यांकन हर बार foo() कहा जाता है। – MSalters