我需要在树中为某些节点提供唯一的ID,因为它们是递归添加的。我写了这样的代码来解决问题:
} else if (deapTree[0] == -1){
static int const_idx;
//bla bla bla
root->idx = const_idx;
//bla bla bla
const_idx++;
} else {
这是否符合我的意图?含义const_idx
将从0开始,然后每次到达if
的那个分支时,它将增加1。
答案 0 :(得分:2)
这适用于单线程程序。对于多线程程序,您需要使用_Atomic
。
尽管如此,我建议将其重构为一个单独的函数。
或者,考虑将计数器从全局变量移动到树根本身的成员。
答案 1 :(得分:1)
是的,它会按预期工作。