No, you must iterate through the vector / map, remove and delete its items one by one (which, as @SB pointed out, may require disposing of their members recursively).
(You could get away by simply deleting the items, IF you are absolutely sure noone will access the vector elements anymore before the vector gets deleted - but it is still safer to remove each item before deleting it. This ensure program correctness at any point, eliminating the possibility for subtle bugs and easing maintenance in the long term.)
Btw this is one of the reasons why it is recommended to store smart pointers in collections, instead of raw pointers.