21xrx.com
2024-11-05 19:36:07 Tuesday
登录
文章检索 我的文章 写文章
C++如何获取函数名?
2023-07-10 16:45:46 深夜i     --     --
C++ 获取 函数名

在C++中,想要获取函数名,可以使用__func__关键字,该关键字会返回当前函数名的字符串字面量。

例如:


#include <iostream>

using namespace std;

void testFunction()

  cout << "The function name is: " << __func__ << endl;

int main()

{

  testFunction();

  return 0;

}

执行该程序,输出结果如下:


The function name is: testFunction

我们可以发现,__func__返回一个字符串字面量,即当前函数的名字。这种方法比较简单,但是需要注意的是,它只能用在函数内部,如果要在其他地方获取函数名,则需要另外的方法。

另外一种方法是使用预处理器的__FUNCTION__宏,该宏与__func__类似,也可以获取当前函数的名字。

例如:


#include <iostream>

using namespace std;

void testFunction()

  cout << "The function name is: " << __FUNCTION__ << endl;

int main()

{

  testFunction();

  return 0;

}

输出结果与上述程序相同。

需要注意的是,__FUNCTION__返回的是一个char*类型的指针,而不是一个字符串字面量。因此,如果要将它传递给一个函数,需要将其转换为一个字符串。

另外,__FUNCTION__只能在函数内部使用,如果要在其他地方获取函数名,则需要使用其他方法,例如维护一个全局的函数名列表,通过函数指针来索引获取相应的函数名。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复