遍歷一個矢量作品:的std :: for_each的過度的std ::集,C++ 11
std::vector<int> collection = {2, 3, 4, 5435345, 2};
std::for_each(collection.begin(), collection.end(), [](int& i){cout << i << endl;});
但不超過一套(編譯錯誤):
std::set<int> collection = {2, 3, 4, 5435345, 2};
std::for_each(collection.begin(), collection.end(), [](int& i){cout << i << endl;});
爲什麼能」 t我使用std::for_each
迭代了std::set
?
獎金的問題: 另外,我想在拉姆達的參數來改變int&
到auto&
,爲什麼不能這樣自動推斷?
你從哪裏聽到的?在Herb sutter的博客中,他提到他們不會添加多態lambda表達式,直到概念問題得到解決,因爲他們仍然希望將來可以使用類似概念的功能。 –
哈哈什麼是政治家。 :)所以把它拿出來回答,你會嗎? – wilhelmtell