Oracle® Solaris Studio 12.4:C++ 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

4.10 将预定义 __func__ 符号用于函数名

编译器将每个函数中的标识符 __func__ 隐式声明为静态 const char 数组。如果程序使用标识符,编译器还会提供以下定义,其中,function-name 是函数原始名称。类成员关系、名称空间和重载不反映在名称中。

static const char __func__[] = "function-name";

例如,请考虑以下代码段。

#include <stdio.h>
void myfunc(void)
{
  printf("%s\n", __func__);
}

每次调用函数时,函数将把以下内容打印到标准输出流。

myfunc

还会定义标识符 __FUNCTION__,它等效于 __func__


注 -  在 C++11 中,__func__ 是一个标准符号。