假设我有一个带有成员变量的类:
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(); });
有没有办法缩短 lambda 表达式?我以为我可以做到这一点,但它不是有效的语法:
std::for_each(myMap.begin(), myMap.end(), [](decltype(myMap::valueType)& pair){pair.second->someMethod(); });