Я нашел статью , которая содержит этот код:
template
std::function
memoize(std::function func)
{
std::map, ReturnType> cache;
return ([=](Args... args) mutable {
std::tuple t(args...);
if (cache.find(t) == cache.end())
cache[t] = func(args...);
return cache[t];
});
}
Вы можете объяснить это, пожалуйста? Я не могу здесь многое понять, но самое странное то, что кеш локальный, а не статический, но, возможно, я ошибаюсь и ...