Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

C++ __PRETTY_FUNCTION__と__FUNCTION__の違いは?

FUNCTIONは関数名のみですが、PRETTY_FUNCTIONはnamespaceや引数、戻り値の型も含みます。

#include <iostream>

class MyClass {
public:
    MyClass(){};
    int myFunction(int arg1){
        printf("%s\n", __func__);
        printf("%s\n", __FUNCTION__);
        printf("%s\n", __PRETTY_FUNCTION__);
        return 0;
    }
};

int main(int argc, const char * argv[]) {
    MyClass myClass = MyClass();
    myClass.myFunction(1);
    return 0;
}

//myFunction
//myFunction
//int MyClass::myFunction(int)