I'm wondering what the difference is between STL:list, STL:vector, array and linked list on a basic level in comparison to one another.
My understanding is that, generally, linked lists allow for grow-able lists, inserts and deletes are much easier but it takes longer to direct access a single element in the linked list since you would need to traverse through every element.
I am probably missing many other key differences so you could also point some more obvious ones out as well.
How do lists and vectors come into play in comparison and when would you choose one over the other?