需求

cpp 需要对 array 中的对象进行排列,使用 sort 的情况下,默认需要重载 <, 才能实现相关功能。

解决

选择的是,在结构体内部进行重载。

struct PatientDataHead {
      // increment id
      int32_t id;

      bool operator <(const PatientDataHead& head) const
      {return id < head.id;}
};
std::array<PatientDataHead, kPatientNum> patient_data_heads_ {};

std::sort(patient_data_heads_.begin(), patient_data_heads_.end());

参考