有没有哪位dalao直到下面代码中的dfs的行为是什么
vector <int> get(int u, int d, int val) {
vector <int> res;
auto dfs = [&](auto &&self, int u, int d, int val) -> void {
if(d == -1) {
rep(i,1,c[u]) res.pb(val);
return;
}
if(nxt[u][0]) self(self, nxt[u][0], d - 1, val);
if(nxt[u][1]) self(self, nxt[u][1], d - 1, val | (1 << d));
};
dfs(dfs, u, d, val);
return res;
}
(这个 &&self 从来没见过)
感谢