pour le join(), nous ajoutons ces hypothèses pour simplifier :
- les 2 vecteurs sont de même taille
- size est compris entre 0 et cette taille
Je modifie la donnée pour clarifier ce point.
Le type est simplement le même pour pouvoir utiliser shift sans cast. (raison très très mineure ;-) la vraie bonne raison serait de faire un join généralisé ; mais on ne le vous demande finalement pas)