1、首先將vector排序。
sort( vecSrc.begin(), vecSrc.end() );
2、然后使用unique算法。
vecSrc.erase( unique(vecSrc.begin(), vecSrc.end() ), vecSrc.end() );
unique返回值是重復元素的開始位置。
如果vector中存儲的元素是自定義的結構或者是類,那么就需要重載操作符。
3、根據類的某一個成員變量排序或者比較。
sort算法需要重載"<"操作符。
unique算法需要重載"=="操作符。
操作符重載的示例如下:

class CTest
{
……
public:
BOOL operator<( const CTest& oCompany ) const
{
return this->m_nCompanyId < oCompany.m_nCompanyId;
}
BOOL operator==( const CECompany& oCompany ) const
{
return this->m_nCompanyId == oCompany.m_nCompanyId;
}
}
參考:
[1] http://blog.csdn.net/primer_programer/article/details/4206156
[2] http://blog.163.com/zhoumhan_0351/blog/static/39954227201031311555313/