এখানে আমরা 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()