Como lidar com a última vírgula, ao criar uma string separada por vírgula? [duplicado

Duplicatas possíveis:
Não imprima espaço após o último número
Imprimir listas com vírgulas C ++

#include <vector>
#include <iostream>
#include <sstream>
#include <boost/foreach.hpp>
using namespace std;

int main()
{
   vector<int> VecInts;

   VecInts.push_back(1);
   VecInts.push_back(2);
   VecInts.push_back(3);
   VecInts.push_back(4);
   VecInts.push_back(5);

   stringstream ss;
   BOOST_FOREACH(int i, VecInts)
   {
      ss << i << ",";
   }

   cout << ss.str();

   return 0;
}

Esta imprime:1,2,3,4,5, Como eu quiser:1,2,3,4,5

Como posso conseguir isso em umelegant caminho

Vejo que há alguma confusão sobre o que quero dizer com "elegante": por exemplo, sem abrandar a "cláusula se" no meu loop. Imagine 100.000 entradas no vetor! Se isso é tudo o que você tem a oferecer, prefiro remover a última vírgula depois de passar pelo loo

questionAnswers(10)

yourAnswerToTheQuestion