Aaron Miller suggested I Share Some Code like he Did - and I thought - Ok - Sure - But I didn't want to clog his thread - so here is some useful source I use all the time. Quite tested and trusted by me.
The Main App is Test_FoundationClasses.cpp - This Code "Self Tests" which is boring to write but helps when you change something as a QA tool - because if the Tests Fail - YOu BROKE IT! LOL
It also serves as documentation. I have a String Class, Double Linked List Class, Dynamic Array Class, and a Interpolate Function Stuffed into jgc_common.cpp
Now I didn't use templates - so my array class elements are int - but I personally type cast to pointers - same issue with my Linked Lists - however I think they are pretty easy to use and work like a database object. MoveFirst, MoveLast, MovePrevious, MoveNext, AppendItem, InsertItem, DeleteItem, DeleteAll for example.
The JGC_DL is the "Dynamic Linked List Class" and the JGC_DLITEM is the base class of "Stuff" you have in the Double Linked List.
they work out the box but you can build on JGC_DLITEM, and in herit a new JGC_DL class with a couple minor overrides to make your new JGC_DLITEM class work - its pretty fast Actually.