Avatar ·

C++ में फंक्टर क्या होते हैं और उनकी क्या आवश्यकता है?

नमस्ते सहकर्मियों! मैंने C++ सीखना शुरू किया है और 'फंक्टर' शब्द पर ठोकर खाई। मैंने दस्तावेज़ पढ़ा, लेकिन पूरी तरह से समझ नहीं पाया। ऐसा लगता है कि यह एक क्लास का ऑब्जेक्ट है जो फंक्शन की तरह व्यवहार करता है। लेकिन इसकी क्या आवश्यकता है? हमारे पास सामान्य फंक्शन, लैम्ब्डा और फंक्शन पॉइंटर्स तो हैं ही। मैंने एक सरल उदाहरण लिखने की कोशिश की, लेकिन मुझे यकीन नहीं है कि यह सही उपयोग है। मैंने यह बनाया: ```cpp #include class Adder { public: int operator()(int a, int b) { return a + b; } }; int main() { Adder add; std::cout << add(3, 4) << std::endl; // 7 प्रिंट करता है return 0; } ``` मैं समझता हूँ कि यह काम करता है, लेकिन यह सामान्य फंक्शन `int add(int a, int b)` से बेहतर कैसे है? पूरी क्लास क्यों बनाएं? मैंने सुना है कि फंक्टर STL में उपयोग होते हैं, जैसे एल्गोरिदम में। लेकिन मुझे स्पष्ट नहीं है कि वास्तव में कैसे और किन स्थितियों में वे लाभ देते हैं। क्या आप सरल शब्दों में समझा सकते हैं: फंक्टर क्या होते हैं, सामान्य फंक्शन और फंक्शन पॉइंटर्स की तुलना में उनके क्या फायदे हैं, और वास्तविक उदाहरण दे सकते हैं?