C++输出函数地址的方法

来源:互联网 发布:电工工程助手软件 编辑:程序博客网 时间:2024/06/07 08:56

我们知道,C++的函数是指令的集合,程序的入口地址用函数名标识。跳转到程序入口地址就可以依次执行集合中的指令。那么,如果想输出函数的地址应该怎么做呢?

#include<iostream>using namespace std;void haha(){    cout<<"haha"<<endl;}int main(){    cout<<haha<<endl;    return 0;}

很遗憾,上面程序输出的结果是1。原因是C++中的cout对象没有对函数指针作为输入参数的<<运算符重载。函数把输入参数haha当做bool量处理。解决办法,把函数指针进行强制类型转换为(void*)型。如下:

#include<iostream>using namespace std;void haha(){    cout<<"haha"<<endl;}int main(){    cout<<(void*)haha<<endl;    return 0;}


原创粉丝点击