Я хочу сделать кеширование в моем проекте.
Пусть мой API int foo(int a, float b, float c, int d, char e)
Теперь в моем проекте много обращений к API, занимающему много времени с более длительным временем, с повторяющимися значениями a, b, c, d и e. Теперь я хочу сохранить возвращаемое значение этой функции с этими аргументами в качестве ключей.
предположим, что моя последовательность вызовов
foo(23, 3.45, 4.5, 90, 'd') // returns 1000, so I need to store it in cache as (23,3.45, 4.5, 90, 'd')->1000
foo(30, 1.2, 3.5, 100, 'e') // returns 2000, so I need to store it in cache as (30, 1.2, 3.5, 100, 'e')->2000
foo(23, 3.45, 4.5, 90, 'd') // No need to call this API, I just check in my cache value associated with
//(23, 3.45, 4.5, 90, 'd'), which is already stored as 1000
Какую стратегию лучше всего реализовать на C ++? какую структуру данных лучше всего составить кеш-таблице?