我有這段簡短的代碼片段。我不明白這是什麼意思。我知道這段代碼從輸入中讀取數字,並在unordered_map中計算其頻率。但是什麼是[&]
? (int x)
是什麼意思? input(cin)
代表什麼?我的意思是括號中的「cin」?那麼for_each如何從input(cin)
迭代到空的eof參數?我不明白這整個建築。這個C++/C++ 11的構造是什麼意思?
unordered_map<int,int> frequency;
istream_iterator<int> input(cin);
istream_iterator<int> eof;
for_each(input, eof, [&] (int x)
{ frequency[x]++; });
檢查出新的C++ lamda操作符!這真棒 – Minion91