मैं एक समारोह परिभाषा में आए:प्रश्न (मानकों में तीन बिंदु ..)
char* abc(char *f, ...)
{
}
तीन डॉट्स क्या मतलब है?
मैं एक समारोह परिभाषा में आए:प्रश्न (मानकों में तीन बिंदु ..)
char* abc(char *f, ...)
{
}
तीन डॉट्स क्या मतलब है?
इलिप्स का मतलब है कि तर्कों की एक चर संख्या है। जिस स्थान पर आप उन्हें उपयोग करेंगे (शायद बिना महसूस किए) स्थान printf
फ़ंक्शन का परिवार हैं।
वे आपको उस शैली के कार्यों को बनाने की अनुमति देते हैं जहां पैरामीटर पहले से ज्ञात नहीं हैं, और आप varargs फ़ंक्शंस का उपयोग कर सकते हैं (विशिष्ट तर्क प्राप्त करने के लिए, va_arg
और va_end
)।
यह लिंक hereprintf
पर परिवर्तनीय तर्क सूचियों का उपयोग पर एक अच्छा ग्रंथ है।
उन्हें एक एलिप्सिस कहा जाता है और उनका मतलब है कि फ़ंक्शन पैरामीटर की अनिश्चित संख्या ले सकता है। आपके फ़ंक्शन को शायद इस तरह कहा जा सकता है:
abc("foo", 0);
abc("foo", "bar", 0);
सूची के अंत को इंगित करने का एक तरीका होना आवश्यक है। यह पहले पैरामीटर का उपयोग करके किया जा सकता है, आयन एक प्रिंटफ (0 प्रारूप स्ट्रिंग, या एक विशेष टर्मिनेटर द्वारा, ऊपर दिए गए उदाहरण में शून्य।
पैरामीटर की एक चर संख्या के साथ कार्य को C++ में खराब रूप माना जाता है पैरामीटर पर कोई प्रकार की जांच या उपयोगकर्ता परिभाषित रूपांतरण नहीं किए जा सकते हैं।
यह वही एक varargs समारोह या सी
में एक चर तर्क समारोहएक तो आप शायद पहचान लेंगे कहा जाता है printf है।
vararg functions in C++ पर विकिपीडिया।
त्वरित प्रतिक्रिया के लिए सभी को धन्यवाद ... यह समुदाय बहुत ही अजीब है .. – ashishsony
अच्छी तरह से .. यह सवाल दिखाता है कि मैं ध्यान नहीं दे रहा हूं, जबकि मैं पेशेवर पिछले एक साल से कोडिंग कर रहा हूं, क्योंकि मैंने printf, scanf का उपयोग किया है इतनी बार ... लेकिन इसने मुझे कभी क्लिक नहीं किया कि ये कार्य असीमित तर्क कैसे स्वीकार कर सकते हैं..मुझे ऐसे प्रश्न पूछने की ज़रूरत है। – ashishsony