Streams

std::vector<string> coll;

copy(istream_iterator(cin), istream_iterator(), back_inserter(coll));

sort(begin(coll), end(coll));

unique_copy(cbegin(coll), cend(coll), ostread_iterator(cout, "\n"));

some useful tips (mostly for myself)