Don't see what is incorrect. What you're talking about is taking advantage of a feature mostly unique to Linux (memory overcommit, not supported on Windows or most other OSs) to construct a vector whose capacity is some really large value so as to never need to perform a reallocation for a given data set.
In practice it is very common for C++ developers to preallocate a region of memory upfront that is large enough to handle their dataset without having to go to such an extreme and non-portable length.
None of this contradicts the CS101 explanation, preallocating memory is entirely consistent with the fundamental understanding of how dynamic arrays work.