सी-स्टाइल वैरिएडिक फ़ंक्शन को परिभाषित न करें?

विषयसूची:

सी-स्टाइल वैरिएडिक फ़ंक्शन को परिभाषित न करें?
सी-स्टाइल वैरिएडिक फ़ंक्शन को परिभाषित न करें?
Anonim

परिणामस्वरूप, एक सी-स्टाइल वैरिएडिक फ़ंक्शन के लिए एक रनटाइम कॉल जो अनुचित तर्कों को पारित करता है, अपरिभाषित उत्पन्न करता है behavior। … ऐसे अपरिभाषित व्यवहार का उपयोग मनमाने कोड को चलाने के लिए किया जा सकता है।

सी में वैरिएडिक फंक्शन क्या है?

वैरिएडिक फ़ंक्शंस फ़ंक्शंस हैं जो तर्कों की एक चर संख्या ले सकते हैं। सी प्रोग्रामिंग में, एक वैरिएडिक फ़ंक्शन प्रोग्राम में लचीलापन जोड़ता है। इसके लिए एक निश्चित तर्क की आवश्यकता होती है और फिर कितनी भी संख्या में तर्क पारित किए जा सकते हैं।

क्या वैरिएडिक फंक्शन खराब हैं?

कारण हैं: टेम्प्लेट वैरिएडिक फ़ंक्शंस संख्या और उनके तर्कों के प्रकार दोनों को जानते हैं। वे प्रकार-सुरक्षित हैं, उनके तर्कों के प्रकार नहीं बदलते।

आप C++ में वैरिएडिक फंक्शन की घोषणा कैसे करते हैं?

वैरिएडिक फ़ंक्शंस फ़ंक्शंस हैं (जैसे std::printf) जो तर्कों की एक चर संख्या लेते हैं। एक वैरिएडिक फ़ंक्शन घोषित करने के लिए, एक इलिप्सिस पैरामीटर की सूची के बाद प्रकट होता है, उदा। int printf(const char format…);, जो एक वैकल्पिक अल्पविराम से पहले हो सकता है।

आप दूसरे फंक्शन में वैरिएडिक पैरामीटर कैसे पास करते हैं?

आप वैरिएडिक फंक्शन को वैरिएडिक फंक्शन में पास नहीं कर सकते। इसके बजाय, आपको एक फ़ंक्शन को कॉल करना होगा जो va_list को तर्क के रूप में लेता है। मानक पुस्तकालय प्रिंटफ और स्कैनफ के प्रकार प्रदान करता है जो एक va_list लेते हैं; उनके नाम में उपसर्ग v है।

सिफारिश की: