社区
C语言
帖子详情
急!!!答者给分.关于函数模拟问题.
chrislois
2002-08-01 01:31:46
现新建函数模拟一些很复杂函数的功能,要求原型一致,怎么保证哪些自定义的多重嵌套类型参数值(内含指针)的模拟?
...全文
16
17
打赏
收藏
急!!!答者给分.关于函数模拟问题.
现新建函数模拟一些很复杂函数的功能,要求原型一致,怎么保证哪些自定义的多重嵌套类型参数值(内含指针)的模拟?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
compassyuy
2002-08-02
打赏
举报
回复
学了不少!
chrislois
2002-08-02
打赏
举报
回复
Tommy():
函数就是对于特定的输入,得到特定的输出,如果对于相同的输入,有相同的输出的话,两个函数根本就是等价的了。如果可以抛开原来的复杂处理,用一个简单函数得到和原来函数一样的输入、输出,那直接用新的代替老的好了,何必还要原来的复杂函数呢?
像你这种情况,一般只能对一部分要模拟的输入,返回对应的结果,还有就是用一个简单的、精度较低的算法,得到一个近似的结果。
原来的复杂函数最终是不要的,新函数最终是原函数的子集.目前原函数也只是在原来的应用程序中调试比对用.而且原函数不是一层层的返回,倒是一层层的调用,所以短时间很难分析清楚.
step_by_step(脚印)说的对,只是嵌套调用层数太多,不好分析.我在此一贴,主要是征求各位的高见和捷径.
Tommy
2002-08-02
打赏
举报
回复
如果这样就没有什么好办法了。或者试试做Refactor,代码重构,把代码变得清晰一些,可能容易看一点。(我没试过,不过在一些文章中看到过有这样的做法)
kwok_1980
2002-08-02
打赏
举报
回复
int func(int &a)
{
//...
return (func2(&b));
}
你是不是一层层的返回啊?
我也不懂你的意思!
Jawan_lee
2002-08-02
打赏
举报
回复
不知所云
winco
2002-08-02
打赏
举报
回复
up
step_by_step
2002-08-02
打赏
举报
回复
基本上不可能,除非你先要了解原函数的流程,逻辑上理清了才会知道应该是什么返回值.
Tommy
2002-08-02
打赏
举报
回复
chrislois() :
那就叫替代吧!我的基本目标是新建的函数与原函数有相同的输入,输出,而忽视掉其处理过程.对于我上面的例子,请发表高见.
函数就是对于特定的输入,得到特定的输出,如果对于相同的输入,有相同的输出的话,两个函数根本就是等价的了。如果可以抛开原来的复杂处理,用一个简单函数得到和原来函数一样的输入、输出,那直接用新的代替老的好了,何必还要原来的复杂函数呢?
像你这种情况,一般只能对一部分要模拟的输入,返回对应的结果,还有就是用一个简单的、精度较低的算法,得到一个近似的结果。
chrislois
2002-08-02
打赏
举报
回复
是这样的,原函数所在程序能正常运行,但非常庞大.所以,我的想法是能不能通过调试得到原函数的返回值,因为原函数短时间很难分析清楚.对于简单类型的参数和返回值,比较容易发现.对复杂类型的呢?
samuelxp
2002-08-01
打赏
举报
回复
我想你是在编程时要使用一些未完成的函数。
你应该知道你那些函数会有什么返回值,什么返回值会使你的程序继续下去。
然后就可以直接return了(tommy说的)。
这也是很普遍的合作开发的方式。
还有一种方法是用宏。
tangss
2002-08-01
打赏
举报
回复
UP
vampireonline
2002-08-01
打赏
举报
回复
你的意思说的那么晦涩啊,凡是函数对于用户来说都可以当作一个功能接口而可以忽略处理过程的啦
chrislois
2002-08-01
打赏
举报
回复
那就叫替代吧!我的基本目标是新建的函数与原函数有相同的输入,输出,而忽视掉其处理过程.对于我上面的例子,请发表高见.
Tommy
2002-08-01
打赏
举报
回复
模拟?是不是根据输入,返回不同的值?这和函数是否复杂没有什么关系吧?模拟本身就是应该用简单的方法对做,比如用一系列的switch语句,为每个不同的输入返回一个假想的结果。
switch(i)
{
case 1: return &SomeElement;
case 2: return &OtherElement;
...
}
如果想和被模拟的函数有相同的行为,那就不是模拟了
chrislois
2002-08-01
打赏
举报
回复
先举个简单的例子吧!
如:
typedef int *Element;
Element A(int i)
{
...
}
该函数功能很复杂,里面又调用了很多重函数,为模拟该函数的功能,在被调用时,怎么可以替代它的返回值?
多谢!
Tommy
2002-08-01
打赏
举报
回复
不懂“自定义的多重嵌套类型参数值(内含指针)”。举个例子?
SHIZUMARU
2002-08-01
打赏
举报
回复
说清楚好不好?不明白你的意思。
lisp pline 加点_在cad中如何创建lisp程序?以及大神们所说的lisp解决重复性劳动
问题
是怎么回事?...
余同 答主已经详细的回答了如何开始。我就直接实战为例吧,以Alisp为开发语言,扩展CAD的功能。...以下资源来自MJTD但是不要
急
着去背诵
函数
,用的时候查阅就可以了,学这门语言最好的方法就是看别人的代码...
淘天组内
急
招,
急
急
急
!HC真的多!流程简单,快到碗里来~~
恒生二面结束,面试官还是挺不错的,也非常耐心,整个过程20min左右,大概问了我几个
问题
1.五
分
钟之。快手,得物,蓝月亮,蓝禾,奇安信,三七互娱,顺丰,康冠科技,金证科技24春招内推①得物【岗位】技术,
大佬们,鹏新旭的一面主要会问什么
问题
啊,很
急
,明天面试了.
可恶啊,看别人都说一面是hr面,怎么我这...第一题,
模拟
,成功签到第二题,
模拟
,如何判断点在矩形内或者圆心内,用例过了,不知道为啥AC不了第三题,排序+滑动窗口,也可以多重背包,背包
问题
改编第四题,感觉是。
⚡【C++要笑着学】(19)
模拟
实现 vector:vector 核心框架接口的
模拟
实现 | 基于STL3.0版本的简化vector | 谈论迭代器失效
问题
STL 的源代码整体考虑的东西比较多,还要考虑和其他地方的结合,...还是那句话,我们去
模拟
实现它们,不是为了造更好的轮子,而是为了去学习它,理解它的本质!自己造一次,心里会更清楚,更利于加深对它们的理解。...
MAPGIS二次开发常见
问题
及解答(转载)
MAPGIS二次开发常见
问题
及解答(转载) 1、问:如何用Delphi生成MAPGIS明码文件? 答:先利用手册看懂明码格式文件的格式,知道数据的组织方式,利用delphi的文件
函数
创建一个文本型文件,吧数据库中的数 据按照...
C语言
69,368
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章