(1)先创建两个list
list<CAnsParagraph> * SingleAnsPartParaList = new list<CAnsParagraph>;
list<CAnsParagraph> * SingleAnsPartParaList = new list<CAnsParagraph>;
(2)赋值操作
省略。。。。。。
(3)合并两个list
(*LeadPartParaList).merge(*SingleAnsPartParaList) 完美报错--------由于合并的时候会进行排序,需要重载“<”运算符
两种重载方法:
1.在自定义类型中重载“<”:
bool operator<(CAnsParagraph &ansPara)
{
return false;
}
使用(*LeadPartParaList).merge(*SingleAnsPartParaList)即可。
2.自定义类型
struct MyStructOP
{
bool operator()(CAnsParagraph &ansPara1, CAnsParagraph &ansPara2)
{
return false;
}
};
函数调用:(*LeadPartParaList).merge(*SingleAnsPartParaList, MyStructOP()); 即重载“()”运算符,将排序设置为 false,即按照插入顺序,进行比较即可。