std::accumulate()
function is used to accumulate all the values in the range [first, last]
both inclusive to any variable initial_sum
.
int myfunction (int x, int y) {
return x+2*y;
}
int main () {
int init = 100;
int numbers[] = {10, 20, 30};
std::cout << std::accumulate (numbers, numbers+3, init, myfunction);
}
and 4th parameter where you are confused is lambda function of c++ is same as usual function but has no name.
[count = unordered_map<int, int> {}] (auto a, auto b) mutable {
return a + count[b]++;
};
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…