यहां हम देखेंगे कि C++ में __FUNCTION__, __func__ और __PRETTY_FUNCTION__ में क्या अंतर हैं।
मूल रूप से __FUNCTION__ और __func__ समान हैं। C और C++ के कुछ पुराने संस्करण __func__ का समर्थन करते हैं। इस मैक्रो का उपयोग वर्तमान फ़ंक्शन का नाम प्राप्त करने के लिए किया जाता है। फ़ंक्शन के बारे में विवरण वापस करने के लिए _PRETTY_FUNCTION__ का उपयोग किया जाता है। इसका उपयोग करके हम प्राप्त कर सकते हैं कि किस फ़ंक्शन का उपयोग किया जाता है, और यह किस वर्ग से संबंधित है, आदि।
उदाहरण
#include<iostream> using namespace std; class MyClass{ public: void Class_Function(){ cout << "The result of __PRETTY_FUNCTION__: " << __PRETTY_FUNCTION__ << endl; } }; void TestFunction(){ cout << "Output of __func__ is: " << __func__ << endl; } main() { cout << "Output of __FUNCTION__ is: " << __FUNCTION__ << endl; TestFunction(); MyClass myObj; myObj.Class_Function(); }
आउटपुट
Output of __FUNCTION__ is: main Output of __func__ is: TestFunction The result of __PRETTY_FUNCTION__: void MyClass::Class_Function()