I am not sure what your book means by that question.
Arrays have maximum capacities. They are the set limits given to it when allocating memory for the array.
For example, if I had an array foo[5], the capacity would be 5 elements. No more than 5 elements will fit into that array.
I have C++ Primer 5th edition if you wanted to know, but I believe by array they meant the std::array not the built in one []. And by capacity I believe they mean the member function capacity()
@keskiverto Sry I cant find it there, it does not say why list and std::array dont have the capacity function
The question might be better as "Why do vectors have capacity?". None of the other STL containers do.
A vector is basically a resize-able array. By that, it is meant that it is an array that knows when to allocate more space and copy its data to that new space. The allocate/copy process is not 'fast', so instead of the vector allocating just enough space for the new item, it allocates space for a whole bunch of items.
Thus, capacity() is introduced to tell us how many items the vector could hold without having to allocate more space: