我想使用模板类比较两个向量。
vector<Msg> gExpMsg;
vector<Msg> gRevcMsg;
我必须使用template class;
和比较 2vector
使用memcmp
. 您能否指导我编写 C++ 代码。
提前致谢。
您可以使用 STL 相等或不匹配算法来比较两个容器。在这些算法中,您可以根据需要提供自己的谓词函子。以下是您可以找到示例代码 不匹配算法示例的链接
mismatch 返回保存两个容器之间差异的对值(在您的情况下为向量)这是示例中的一些片段以供快速查看
//find first mismatch
pair<vector<int>::iterator,list<int>::iterator> values;
values = mismatch (coll1.begin(), coll1.end(), //first range
coll2.begin()); //second range
if (values.first == coll1.end())
cout <<"no mismatch"<<endl;
else
cout <<"first mismatch: "<<*values.first<<" and "<<*values.second<<endl;
带谓词
values = mismatch (coll1.begin(), coll1.end(), //first range
col12. begin(), //second range
less_equal<int>() ) //criterion
if (values.first == coll1.end())
cout <<"always less-or-equal"<<endl;
else
cout <<"not less-or-equal: "<<*values.first<<" and "
<<*values.second<<endl;