If you enable the “Common Language Runtime Support” (C++/CLI), then you can use the WeakReference and MemoryCache classes.
In case of normal C++, I think that the automatic expiration and eviction of objects is problematic — it will require a specific redesigned allocation functions (malloc, new, etc.).
Maybe you can develop your own cache for your large objects.
Check some attempts too: https://www.bing.com/search?q=c%2B%2B+cache.