反復処理は動作します:のstd :: for_each、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;});
をなぜすることができます」私はstd::set
をstd::for_each
で繰り返しますか?
ボーナス質問: また、私はなぜこれが自動的に推定することはできません、auto&
にラムダの引数でint&
を変更したいですか?
あなたはそれを聞いたことがありますか? Herb sutterのブログでは、概念問題が解決されるまで多形ラムダを追加しないことに言及しています。なぜなら、彼らは将来も概念に似た機能を求めているからです。 –
笑何政治家。 :)それでは、答えから外してください。 – wilhelmtell