Programming/C++ STL2016. 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()


'Programming > C++ STL' 카테고리의 다른 글

cpp this  (0) 2016.07.18
class 기본 접근제한자  (0) 2016.07.18
cpp dlopen / gcc -l  (0) 2016.07.12
cpp thread.... / pthread  (0) 2016.07.11
객체지향과 if문?  (0) 2016.07.11
Posted by 구차니