我有这个简短的代码片段。我不明白这个结构是什么意思。我知道这段代码从输入中读取数字并在 unordered_map 中计算其频率。但什么是[&]?是什么意思(int x)?代表什么input(cin)?我的意思是括号中的“cin”?for_each 如何迭代input(cin)到空的 eof 参数?我不明白这整个结构。
unordered_map<int,int> frequency;
istream_iterator<int> input(cin);
istream_iterator<int> eof;
for_each(input, eof, [&] (int x)
{ frequency[x]++; });