Я бы сказал, что это дурной тон.Не ужасная форма, но такая же форма, которая приводит к этому:
v.clear(); // clear the vector to be safe.
v = v2;
Если вы хотите воспроизвести код, который уже находится внутри функции, то вы не экономите время, имея его в функциина первом месте.Вы нарушаете концепцию DRY, если каждый вызов функции имеет одну и ту же преамбулу.
Лучше понять, что функция проверяет, а что нет, и использовать ее соответствующим образом.