cout怎么输出指定的函数名?

home1410 2010-10-08 04:53:28
各位大虾,cout怎么输出函数名?
比如:
void func(void)
{
int i = 0;
……
}
int main()
{
cout << func << endl;
}


cout << func实际打印的是地址

本意是想输出结果为:func

请问怎么实现?
...全文
369 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
home1410 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 iamsorry198609 的回复:]
楼主把函数名作为字符串也传入啊、带两个参数。
[/Quote]

12楼的方法好!呵呵 ,多谢!
home1410 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kanguolaikanguolaik 的回复:]
楼主太搞了。。

这样就输出了:

int main()
{
cout << "func" << endl;

return 0;
}
[/Quote]

请看3楼的补充。。。
iamsorry198609 2010-10-08
  • 打赏
  • 举报
回复
楼主把函数名作为字符串也传入啊、带两个参数。
  • 打赏
  • 举报
回复
楼主太搞了。。

这样就输出了:

int main()
{
cout << "func" << endl;

return 0;
}
gules 2010-10-08
  • 打赏
  • 举报
回复
LZ可以建立一个map<string, func>的容器来保存函数名与函数指针之的映射。
claudebell 2010-10-08
  • 打赏
  • 举报
回复
编译之后函数名就变了,和你自己写的不同,即使输出也没什么大用吧
可以在函数内部加一条输出语句
Caballeroo 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 guzhijie1981 的回复:]
printf("%s",__FUNCTION__);
[/Quote]


顶!
guzhijie1981 2010-10-08
  • 打赏
  • 举报
回复
printf("%s",__FUNCTION__);
home1410 2010-10-08
  • 打赏
  • 举报
回复
Time_Count(func)则可以计算func函数运行的时间,我就是想把func指向的函数的名字打印出来,然后打印一个对应的运行时间。
貌似这样是不能直接实现的,编译后函数名实际是不存在的。。。不知我的理解对不对?
cheng_fengming 2010-10-08
  • 打赏
  • 举报
回复
你自己写"<<"的重载函数吧,呵呵,这样做什么意思?
home1410 2010-10-08
  • 打赏
  • 举报
回复
不好意思,我要补充一下。。。
我是在做时间测试时弄的,
unsigned long Time_Count(long (*func)(void))
{
clock_t tBegin,tEnd;
……
tBegin = clock();
func();
tEnd = clock();
……
cout << func << end;
}

也就是我的func是通过指针调用的,在Time_Count函数里怎么打印出指针func指向的函数名?
shi3590 2010-10-08
  • 打赏
  • 举报
回复

int main()
{
cout << "func" << endl;
}
昵称很不好取 2010-10-08
  • 打赏
  • 举报
回复
楼主想搞反射?

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧