我有这个简短的代码片段。我不明白这个结构是什么意思。我知道这段代码从输入中读取数字并在 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]++; });