是否有(标准化)方法使用c ++获取当前方法的名称?
使用GNU GCC你可以通过使用宏__FUNCTION__
和__PRETTY_FUNCTION__
(由2个下划线包围)来实现这一点,但是,这当然是不可移植的.有没有办法在标准c ++中实现这一点或使其可移植?
所述__func__
标识符是C99标准的一部分,并且是在C++ 0X草案.
标识符__func__
由编译器隐式声明,就好像以下是每个函数体的开头一样:
static const char __func__[] = "function-name";
其中function-name
是由编译器自动提供的实现定义字符串.
在获得对这些标准的支持(或更广泛可用)之前,您会遇到特定于编译器的垃圾.