gpt4 book ai didi

c++ - 是否有一个仅调用另一个函数的功能?

转载 作者:行者123 更新时间:2023-12-02 09:47:46 25 4
gpt4 key购买 nike

查看90年代末日源端口的源代码(在本例中为Retrodoom),发现:

void A_Detonate(mobj_t *actor, player_t *player, pspdef_t *psp)
{
P_RadiusAttack(actor, actor->target, actor->info->damage, false);
}
此A_Detonate函数仅充当P_RadiusAttack函数的调用方,因此问题是:为什么不使用不带“父”函数的P_RadiusAttack?

最佳答案

函数有时用于提高开发人员的可读性,它可能以稍慢的方式执行某些操作,但是它使代码的维护更加容易。
函数P_RadiusAttack可以由多个其他函数使用,想象一下代码中除引爆之外还调用10个不同“ Action ”的位置,并且它们都以不同的方式调用P_RadiusAttack。具有 Action 名称的功能要比对P_RadiusAttack进行10次调用的方式略有不同,要容易得多,并且维护起来也容易得多。
这些函数可能比调用P_RadiusAttack做更多的事情,或者可以使用不同的参数来调用它,这样,如果仅更改A_Detonate,代码的结构将非常不完整。
而且,该函数实际上已经在做某事,如您所见,这两个函数的参数是不同的,实际上,将正确的参数放在正确的位置已经是该函数所做的事情。

关于c++ - 是否有一个仅调用另一个函数的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63949290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com