C ++ में "फ्री फंक्शन" शब्द का क्या अर्थ है?


95

बढ़ावा देने के लिए दस्तावेज़ीकरण पढ़ते हुए :: परीक्षण, मैं "फ्री फ़ंक्शन" शब्द के पार आया। मैं जो समझता हूं वह यह है कि एक नि: शुल्क फ़ंक्शन कोई भी फ़ंक्शन है जो कुछ भी नहीं लौटाता है (इसका रिटर्न प्रकार शून्य है)। लेकिन आगे पढ़ने के बाद ऐसा लगता है कि मुक्त कार्य भी कोई तर्क नहीं लेते हैं। किंतु मुझे यकीन नहीं है। ये सब मेरी धारणाएं हैं। तो क्या कोई मुफ्त कार्य को परिभाषित कर सकता है?

जवाबों:


114

C ++ में टर्म फ्री फ़ंक्शन केवल गैर-सदस्य फ़ंक्शन को संदर्भित करता है। हर फंक्शन जो मेंबर फंक्शन नहीं है वह एक फ्री फंक्शन है।

struct X {
    void f() {}               // not a free function
};
void g() {}                   // free function
int h(int, int) { return 1; } // also a free function

मान लीजिए कि हमारा एक अलग फ़ाइल में हमारा मुख्य कार्य है और इसके अंदर हमें एक मुफ्त फ़ंक्शन को कॉल करने की आवश्यकता है, इसलिए मुझे किसी अन्य फ़ाइल में मुफ्त फ़ंक्शन करने के लिए क्या करना चाहिए कि मैं इसे बाद में अपनी मुख्य फ़ाइल में शामिल करूंगा ?? मेरा मतलब है कि मुझे एक hpp फ़ाइल बनानी चाहिए, जहाँ मेरा फ्री फंक्शन वहाँ लागू हो (जैसा कि स्थिर इनलाइन फ़ंक्शन हो सकता है)?
जॉय

4
आमतौर पर आप उन्हें हेडर फ़ाइल में घोषित करते हैं और उन्हें एक अलग स्रोत फ़ाइल (टेम्पलेट फ़ंक्शन जैसे कुछ अपवादों के साथ) में लागू करते हैं। उस विशिष्ट विषय पर एक नया प्रश्न खोलना बेहतर होगा, हालांकि लोग आपको अधिक विस्तार से उत्तर दे सकते हैं आदि
Georg Fritzsche
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.