gpt4 book ai didi

c++ - 通过结构调用递归函数

转载 作者:行者123 更新时间:2023-11-28 02:03:54 27 4
gpt4 key购买 nike

首先看看我的结构

 typedef struct  {
int treeDepth;
unsigned __int8 dmv[19];
unsigned __int8 dv[19];
unsigned __int8 ih;
bool flagLeft = true ;
bool flagRight = true;
}problem_t;

我有一个与这个结构一起工作的函数,

void PMSprune(problem_t &problem)
{
/*
--blocks of code!
--modify properties of "problem"
*/
PMSprune(problem);// I want to call it with problem.treeDepth++, but I
//don't want my original struct to be modified
}

但是这个函数是递归的,我想用被修改的结构的属性之一调用这个函数,有人知道我该怎么做吗?

更新:我的项目是实时的,时间对我来说真的很重要,这个函数在循环中被调用了大约一百万次

最佳答案

拆分功能:

void PMSpruneRec(problem_t &problem, int treeDepth)
{
/*
--blocks of code!
--modify properties of "problem"
*/
PMSpruneRec(problem, treeDepth + 1);
}
void PMSprune(problem_t &problem)
{
PMSpruneRec(problem, problem.treeDepth);
}

当然,您仍然需要一些终止条件。

关于c++ - 通过结构调用递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38326157/

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