Scalić, czyli rozumiem, że wywalić powtarzające się?
http://stackoverflow.com/questions/9237216/removing-duplicates-in-a-vector-of-strings
Tutaj jest to dobrze opisane (std::string też jest jakby std::vector'em - też posiada interfejs iteratorowy, więc zadziała ta metoda).
Najpierw za pomocą std::sort() sortujesz, aby wszystkie duplikaty były koło siebie. Potem za pomocą erase() i std::unique() usuwasz duplikaty będące koło siebie.
Jeśli elementy mają zostać koło siebie polecam stworzyć pomocniczy std::vector<std::pair<TwojaKlasa,unsigned>>, potem zrobić pętlę poprzez Twój vector z danymi i z każdym obejściem sprawdzać, czy konkretna dana znajduję się w vectorze pomocniczym. Jeśli tak - zwiększasz jej ilość występowania (po to jest unsigned) - jeśli po tym jest większa od 1, zerujesz licznik i usuwasz zmienną z vectora z danymi. Jeśli zmienna nie występuje - dodajesz ją do vectora pomocniczego i licznik ustawiasz na 1.