- When would I need an alternative to C++’s STL?
- Are there any advantages to using an alternative STL?
- Which ones would you recommend, if any?
Sorry for these noob bullet points, but I see a lot of products that ship with different STLs linked in and was wondering when something like that is useful.
I’m assuming you’re talking about alternative implementations of STL, rather than alternatives to the STL.
There’s a few reasons you might use a 3rd party STL implementation, rather than the default one provided by your compiler.
Consistency – you might be using multiple compilers and want to ensure you get the same behavior on each platform.
Speed – An implementation might be more efficient than the one provided by your compiler.
Completeness – Your compilers default library might not provide the full complement of STL features. (This may only be for old compilers, or compilers for embedded systems, or for C++11 features).
Extra features – Some implementations of STL provide features like improved debugging of invalid iterators etc, which may not be in your compilers implementation.
Obviously not all these hold for all compilers .. but there are certainly cases where 3rd party STLs can be helpful.
As for implementations: you can find a list here