In an AI application I am writing in C++,
You rarely have to worry about cache in regards to such commonly used items, since they're fetched once and kept there.
Cache is only generally an issue when dealing with large data structures that either:
Things like Vtables are generally not going to be a performance/cache/memory issue; usually there's only one Vtable per object type, and the object contains a pointer to the Vtable instead of the Vtable itself. So unless you have a few thousand types of objects, I don't think Vtables are going to thrash your cache.
1), by the way, is why functions like memcpy use cache-bypassing streaming instructions like movnt(dq|q) for extremely large (multi-megabyte) data inputs.