知乎专栏一篇文章中看到的一段代码。
void build(int p = 1, int cl = 1, int cr = n)
{
if (cl == cr) return void(tree[p] = A[cl]);
int mid = (cl + cr) >> 1;
build(p << 1, cl, mid);
build(p << 1 | 1, mid + 1, cr);
tree[p] = tree[p << 1] + tree[p << 1 | 1];
}
这个 int p = 1
的参数不会每次调用函数都初始化为 1 吗?那传递这个参数有什么意义呢?