I have a question, in real applications like: companies, software development, etc... Do they use some std
classes(or containers, I'm not sure about the correct name) such as std::vector
, std::array
and std::string
in the code? Or do they implement new ones?
It depends on the platform that your building to. If its for embedded applications, you might use a custom implementation to fit that platform and to get better performance.
If its for a desktop application, you'll most likely use the provided STL containers (why reinvent the wheel?).
Or else there could be scenarios like the Unreal Engine, where the STL wasn't a go-to option when its first built (and other reasons like code reflection).
The STL containers might not be the best and most efficient implementation because its made to work on many cases but its more or less feature complete; it has everything which a coder would need when developing something using that container. With that said, performance differences are in the range of nanoseconds, which in modern devices makes unnoticeable differences. The performance gets unnoticeable even further when your talking about cross-platform compatibility, documentation and the ease of development.