lambda函数的两种用法
- auto
auto factorial = [](auto self, int n) -> int {
return n < 2 ? 1 : n * self(self, n - 1);
};
- function
std::function<void(int, int)> dfs = [&](int i, int j) {
if (mask_.at<uchar>(i, j) == 255) return;
mask_.at<uchar>(i, j) = 255;
for (int k = 0; k < 4; ++k)
{
int ii = i + ff[k][0], jj = j + ff[k][1];
if (ii < m.rows && jj < m.cols)
dfs(ii, jj);
}
};