Следует ли использовать
std::sort(numbers.begin(), numbers.end(), std::greater<int>());
или
std::sort(numbers.rbegin(), numbers.rend()); // note: reverse iterators
для сортировки вектора по убыванию? Есть ли какие-либо преимущества или недостатки у того или иного подхода?