If I load a resource using the resource manager, is that resource cached somehow for quicker loading later, or do I need to keep the object returned in scope?

I previously assumed the latter, and have been loading resources at launch (e.g., CL_Sprite(gc, "someName", &resourceMgr)) , and keeping the objects returned in one of several "storage classes".

I've got what seems like a good usage pattern set up, but am planning to write code to generate the storage classes and their members from information provided by a GUI. Before I do this, I want to make sure I'm not re-inventing the wheel.

If I should clarify further, please let me know and I am happy to do so.

Thanks for taking the time to read this.