I am trying to figure out the advantages of C++ STL containers over C.
Correct me if I am wrong.
a)in C++ containers classes are standardized. C doesn't have any standardized libraries for data structures beyond the native array type.
b)each of these containers in C++ has member functions which can manipulate the data stored in the containers.
c)also there are global functions (algorithms) which can manipulate the data of the containers. Doesn't C has global functions as well? (reverse)
d)They're type safe and relatively clean. C offers essentially two ways to create generic containers: pointers to void (which aren't type safe) and the preprocessor (type safe, but a maintenance nightmare). C++'s templates, while still complex, are a huge improvement.
I can think or find anything else, please tell me if some of the above are incorrect or add some other advantages.