Yes, this is interestingly considered one of the worst design decisions in C++ history. It's not /the/ worst but it's up there.
I kinda hate that. It gives the vector very special behaviour for one type in particular, going against the intuition behind how both boolean and vector works everywhere else in the language.