এখানে আমরা সি++-এ __FUNCTION__, __func__ এবং __PRETTY_FUNCTION__-এর পার্থক্য দেখব।
মূলত __FUNCTION__ এবং __func__ একই। সি এবং সি++-এর কিছু পুরনো ভার্সন __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;
}
int 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()