相关疑难解决方法(0)

在不同的标准C++ STL上维护一组唯一的元素

我必须开发一个组件,它将拥有超过100,000个类的实例.我想根据特定类的不同标准(成员)生成报告.例如,具有数据字段id,名称,addr,phoneno的员工类.报告生成将基于


  1. names_ascending
  2. names_descending
  3. addr_ascending
  4. phoneno_asceding
  5. unique_names
  6. unique_addr
  7. unique_phoneno

每次调用的实例的运行时迭代非常慢,因为它是对大量实例的线性操作,需要排序机制.

所以我以不同的排序方式在容器中存储了每个实例的指针.但是需要更多的内存.请建议我这样做的更好方法.我已经发布了我遵循的示例代码片段以实现上述目标.

class Employee
{
    int    m_id;
    string m_name;
    string m_addr;
    string m_phone;

public:
    Employee(int id, string name, string addr, string phone) : 
         m_id(id), m_name(name), m_addr(addr), m_phone(phone) { }

    int    id()      const { return m_id;    }
    string name()    const { return m_name;  }
    string addr()    const { return m_addr;  }
    string phoneno() const { return m_phone; }
};

//custom predicate for std containers
struct IDComparator
{
    bool operator() (const Employee* e1, const …
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
814
查看次数

标签 统计

c++ ×1