gpt4 book ai didi

c++ - 使用 goto 来避免深层函数调用中的堆栈溢出是个好主意吗?

转载 作者:搜寻专家 更新时间:2023-10-31 01:44:10 25 4
gpt4 key购买 nike

<分区>

我有一个我需要实现的算法,它在代码中跳转很多,很多条件检查和跳过步骤,返回到前面的步骤,以及所有这些爵士乐。

它可能可以通过循环和 ifs 来实现,但是这将是一个巨大的困惑,将非常难以维护和调试。

所以我考虑将算法的每个“子部分”编写为一个单独的函数并像那样处理它,所有这些函数相互调用。但是这个算法会运行很长时间(这是一个 NPcomplete 问题,所以是的......),所以我很确定这会在某个时候导致堆栈溢出。

所以我能想到的最后一个选项是使用 goto。现在我总是听说一旦你开始使用 goto 就应该认真地重新考虑你的设计,所以我想问一下是否有更好的方法来做到这一点?

Oke 这是伪代码:

enter image description here

如您所见,它绕着 a 跳转并执行大量检查和条件跳过等操作。我只是想完全按照这个伪代码中的描述添加标签,并完全按照代码中的描述使用 goto。我在谈论函数的替代方案是将算法的每个点放在不同的函数中,但出于上述原因,我认为这不是一个好主意

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