C++怎么获取当前正在运行函数的名称
本篇内容主要讲解“C++怎么获取当前正在运行函数的名称”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么获取当前正在运行函数的名称”吧!
func、FUNCTION、__PRETTY_FUNCTION__的区别
常用获取函数名成的方法都有__func__、FUNCTION、PRETTY_FUNCTION。那么它们的区别是什么呢?
1) func、FUNCTION: 主要是获取函数的名称。
2) PRETTY_FUNCTION: 不仅能获取函数的名称,同样也能获取函数传递的参数。
#include<iostream>usingnamespacestd;inttest_fun(inta,intb){cout<<"__func__:"<<__func__<<endl;cout<<"__FUNCTION__:"<<__FUNCTION__<<endl;cout<<"__PRETTY_FUNTION__:"<<__PRETTY_FUNCTION__<<endl;return0;}intmain(intargc,char**argv){test_fun(1,1);return0;}result:__func__:test_fun__FUNCTION__:test_fun__PRETTY_FUNTION__:inttest_fun(int,int)
func、__FUNCTION__的区别?
FUNCTION 和 func 都是预定义的宏,用于在编译时获取当前函数的名称字符串。
但是它们之间存在一些区别:
FUNCTION 是一个非标准的宏,在C++98和C++03标准中被定义为预处理器扩展。在C99和C11标准中,它已被删除。而 func 是标准 C 和 C++ 的宏,从C99/C++98开始引入。
FUNCTION 会返回包含类作用域的完整函数名,而 func 只返回函数名。例如,如果您有一个名为 MyClass::myFunction() 的成员函数,则 FUNCTION 将返回 “MyClass::myFunction”,而 func 将仅返回 “myFunction”。
在函数原型或函数定义中使用 func 时,它与函数名称具有相同的类型,即 const char[]。但是,在使用 FUNCTION 时,其类型因实现而异,通常为 const char* 或 const char[]。
综上所述,虽然这两个宏都可以用于获取当前函数的名称字符串,但 func 更好地符合标准,并且更简洁和易于使用。
到此,相信大家对“C++怎么获取当前正在运行函数的名称”有了更深的了解,不妨来实际操作一番吧!这里是主机评测网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
上一篇:基于Mongodb分布式锁怎么解决定时任务并发执行问题
输入法切换键是哪个键?输入法切
冬月是哪一个月?冬月是什么意思
个人所得税退税金额怎么算出来的
输入法全角和半角有什么区别?输
a4纸尺寸是多少厘米?a4纸的由来
个人所得税扣除标准?个人所得税
输入法哪个好用?输入法介绍
卡拉OK是哪个国家发明的?卡拉OK
mikutools原神网页版入口链接?m
关机特别慢什么原因?电脑和手机