STL List 指针数据排序

本文介绍在处理FIX打包过程中,如何使用C++自定义结构体及列表(list)来保存和排序字段。针对FIX包体对字段排序的严格要求,通过实现自定义排序方法来确保数据正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        温故知新,前段时间做FIX打包时,由于FIX包体中对各字段排序要求严格,处理时采用LIST来保存数据。

定义每个字段采用结构,保存在LIST保存的是指针。排序起来就比较有意思了。需自己实现排序方法。

       处理代码片段示例:

typedef struct stFixFieldList
{
  int iTag;
  std::string strValue;
  std::string strGrpNo;

  stFixFieldList():iTag(0){}

  bool operator<(const stFixFieldList& rhs)const
  {
    return iTag < rhs.iTag ? true : false;
  }


} ST_FIX_FIELD_LIST;
typedef std::list<ST_FIX_FIELD_LIST *> list_FixField;

template<> struct std::greater<stFixFieldList*>
{
  bool operator()(const stFixFieldList* a1, const stFixFieldList* a2) const
  {
    return *a1 < *a2;
  }
};
//排序处理
listFixBody.sort(std::greater<ST_FIX_FIELD_LIST*>())



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值