The C++ standard seems to make no statement regarding side-effects on capacity by either resize(n), with n < size(), or clear().>
resize(n)
n < size()
clear()
The capacity will never decrease. I'm not sure if the standard states this explicitly, but it is implied: iterators and references to vector's elements must not be invalidated by resize(n) if n < capacity().
n < capacity()