std::vector is the quintessential C++ data structure.
It offers random access, low memory overhead and, due to the linear layout, is cache and branch-predictor friendly. This makes it often outperform more complex data structures.
Whenever picking a storage container, std::vector should be your first choice.
Compiler Explorer link: https://compiler-explorer.com/z/ch5dqbcf7
@simontoth
Except for situations where randomly allocating and potentially throwing is a problem for your use case