博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
std::unique and removing duplicates from a container of objects
阅读量:6694 次
发布时间:2019-06-25

本文共 1756 字,大约阅读时间需要 5 分钟。

hot3.png

class Packet{public:Packet(string fTime, string rID) : filingTime(fTime), recordID(rID)  string getFilingTime() {return filingTime;}  string getRecordId() {return recordID;}private:  string filingTime;  string recordID;};

Two options to be able to use :

  1. Define an operator== method for Packet and change the vector<Packet*> to vector<Packet>.

    bool Packet::operator==(const Packet& rhs) const{    if (getFilingTime() != rhs.getFilingTime())        return false;    if (getSpid() != rhs.getSpid())        return false;    return true;}//etc.int main(){    vector
    pkts; pkts.push_back(Packet("10:20", "1004")); pkts.push_back(Packet("10:20", "1004")); // not unique (duplicate of the line above) pkts.push_back(Packet("10:20", "251")); pkts.push_back(Packet("10:20", "1006")); // remove packet from vector if time and ID are the same pkts.erase(unique(pkts.begin(), pkts.end()), pkts.end()); return 0;}
  2. Keep the vector as vector<Packet*> and define a method to compare the elements.

    bool comparePacketPtrs(Packet* lhs, Packet* rhs){    if (lhs->getFilingTime() != rhs->getFilingTime())        return false;    if (lhs->getSpid() != rhs->getSpid())        return false;    return true;}//etc.int main(){    vector
    pkts; pkts.push_back(new Packet("10:20", "1004")); pkts.push_back(new Packet("10:20", "1004")); // not unique (duplicate of the line above) pkts.push_back(new Packet("10:20", "251")); pkts.push_back(new Packet("10:20", "1006")); // remove packet from vector if time and ID are the same pkts.erase(unique(pkts.begin(), pkts.end(), comparePacketPtrs), pkts.end()); return 0;}

 

转载于:https://my.oschina.net/wdyoschina/blog/1502999

你可能感兴趣的文章
搭建Eclipse+MyEclipse开发环境开发JSP(转自建站学)
查看>>
表连接之连接的类型
查看>>
數據已固定格式自動編號
查看>>
editplus4.0 注册码
查看>>
Java基础学习总结(14)——Java对象的序列化和反序列化
查看>>
Maven学习总结(2)——Maven项目构建过程练习
查看>>
Java基础学习总结(22)——异常处理
查看>>
RabbitMQ学习总结(2)——安装、配置与监控
查看>>
jmap详解
查看>>
20170118修改商品流水
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
找出两个数组中相同的元素
查看>>
Maven学习总结(八)——使用Maven构建多模块项目
查看>>
Oracle升级出现ORA-04063 DBMS_REGISTRY has error
查看>>
linux配置java环境变量(详细)
查看>>
JavaScript强化教程——cocosjs屏幕适配方案
查看>>
更易操作的网页细节—background背景
查看>>
c#打造百度搜索框(创世纪篇)
查看>>
新年的决心----resolution
查看>>