When you need to store a collection of objects, you need a container to hold them. The C++ standard library provides many powerful containers, such as std::vector, std::list, or std::map. However, Qt doesn't use these containers (actually, it hardly uses any standard library classes at all) and provides its own alternative implementation of containers instead. When Qt containers were introduced, they provided significantly more consistent performance on different platforms compared to standard library implementations, so they were required to create reliable cross-platform applications. This is not really the case now, as STL implementations and compilers have since evolved and gained new optimizations and features. However, there are still reasons to use Qt containers, especially in an application that heavily uses other Qt classes:
- Qt API always uses Qt containers...