Programming/C++ STL

cpp 매크로 __PRETTY_FUNCTION__

구차니 2016. 7. 18. 17:39

__FUNC__

는 매크로에서 지원하는 함수명 출력명인데..

클래스를 포함하려면


비표준이지만(gcc/clagn)

__PRETTY_FUNCTION__

를 쓰면 클래스:함수명 이렇게 나온다고 한다.


[링크 : http://stackoverflow.com/questions/11988895/g-function-on-methods-with-class-name]


$ cat func.cpp

#include <iostream>


using namespace std;


class AAA

{

public:

        int a;

        int get();

        int set(int val);

};


int AAA::get()

{

        cout << __func__ << endl;

        cout << __PRETTY_FUNCTION__ << endl;

        return a;

}


int AAA::set(int val)

{

        cout << __func__ << endl;

        cout << __PRETTY_FUNCTION__ << endl;

        a = val;

}


int main()

{

        AAA a;

        a.set(1);

        a.get();

        return 0;


$ g++ func.cpp

$ ./a.out

set

int AAA::set(int)

get

int AAA::get()