惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
博客园 - 司徒正美
博客园 - 叶小钗
T
Tailwind CSS Blog
博客园 - Franky
V
V2EX
有赞技术团队
有赞技术团队
美团技术团队
雷峰网
雷峰网
爱范儿
爱范儿
Jina AI
Jina AI
D
DataBreaches.Net
H
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - zim.NET

悼念友人 博客搬家了 3D学习笔记之一句话总结(不断更新中) 混乱你的代码 - zim.NET - 博客园 这么个女孩,你娶吗(转) 被误传了数千年的七句话(精简版_转载) 找工作故事之篇二 找工作故事之开篇 - zim.NET - 博客园 失落的阳光,陈酿的悲伤——许美静 一行命令解决批量重命名 一个空间换时间算法 求最长公共子序列 最小生成树算法讨论 用EditPlus打造你自己的IDE 将PPT内容导出为JPG图片 C/C++ 误区:fflush(stdin) 关于"extern" 闲谈成员初始化列表 脑筋急转弯3600题
函数调用中的黑客技术
zim.NET · 2007-11-10 · via 博客园 - zim.NET

//说明在问题描述之前:
 本问题在正常情况下没有特别的实用价值,但却是让你对函数调用过程有一个更深入了解的机会.

问题描述:
现给你一个函数原型为:void change(unsigned a); 
//注:此处的a即不是引用也非指针.
现要求,能在主函数中反应出此函数对a的值的改变.
即形如:
main()
{
  unsigned x = 10;
  change(x);
  cout<<x<<endl;//现要求x值在经过change()后有变化.如何办到?
}

说明:以往我们常通过传址传指针来达到此目的,现在有这么一个怪的函数,仍然要求有此效用,你会怎么办?

我们有两种方法可以达到此效果:
1) 在change()里寻找到main()里的x变量的实际地址,进而改变它.  问题的难点在于"寻址".
2) 利用C++的异常处理.(CSDN里某人提出的,理论上可行,没有验证)

关于此问题的源码,请动用你的脑筋思考,我将在不久公布我的一个实现版本.嘿嘿.