Is there any requirement on STL container
No there is no requirement in the standard of what the size of the container should be. What the standard details is what the behavior of the data structure is. It also details the complexity of the operations done to it and of its member functions. This in turn may limit how you design it in order to conform to those requirements but if you can figure out how to maintain those requirements in a different way the standard allows that.