c++ - 如何在 C++ 中打印函数指针的值?
问题描述
我这里有个问题,不明白为什么我不能打印我的函数指针的内存地址。谁能解释为什么?谢谢!
#include <stdio.h>
#include <iostream>
void displayFourIncrementVar(int &x)
{
printf( "%d\n", 4 );
x++;
}
int main()
{
int y = 4;
int *z = &y;
std::cout << *z << std::endl;
std::cout << z << std::endl << std::endl;
//printing out z we have an address.
void (*garbage)(int&) = &displayFourIncrementVar;
std::cout << garbage << std::endl << std::endl;
//Printing out garbage we have no address, instead we get 1, why's that?
//I thought pointers store memory addresses in dexadecimal.
int x = 2;
(*garbage)(x);
std::cout << x << std::endl;
return 0;
}
解决方案
推荐阅读
- python - python爬取beautifulsoup如何爬取几个页面?
- android - android改造解密响应参数
- python - How do I know which browser is used to crawl in Scrapy framework?
- python - 每个用户使用 pandas 的事件总数
- javascript - 在特定索引上启动 for 循环并循环数组长度
- sql - 左连接并对每一行求和
- ruby-on-rails - 为什么 ruby on rails 会生成 .self 它的用途是什么?以及如何删除它?
- python - 如何使用更新查询(python)增加postgres中的值
- apache-nifi - 如何修复 Apache NiFi 中过早过期的流文件?
- java - 如何创建一个 ArrayList 的书籍来过滤掉超过 maxPages 值的书籍?