メンバー変数を持つクラスがあるとしましょう:
std::unordered_map<KeyType, std::shared_ptr<ValueType>> myMap
そして、メンバー関数で次のことをしたい:
std::for_each(myMap.begin(), myMap.end(), [](std::pair<const KeyType, std::shared_ptr<ValueType>>& pair){pair.second->someMethod(); });
ラムダ式を短縮する方法はありますか? 私はこれを行うことができると思っていましたが、有効な構文ではありませんでした:
std::for_each(myMap.begin(), myMap.end(), [](decltype(myMap::valueType)& pair){pair.second->someMethod(); });