std::set
阿新 • • 發佈:2018-08-05
func arr clas 使用 als 代碼 -c div 叠代
-
std::set
- 不重復key
- 默認less排序
- 代碼
-
#include <iostream> #include <set> class Person { public: Person(const std::string& name, const std::size_t nld) { Name = name; Nid = nld; } const std::string& GetName() const { return Name; } const void SetId() { Nid++; } const std::size_t GetId() const { return Nid; } private: std::string Name; std::size_t Nid; }; //仿函數 struct PersonIdComparer: public std::binary_function<Person, Person, bool> { bool operator()(const Person& p1, const Person& p2) const { return (p1.GetId() < p2.GetId()) ? true : false; } }; struct PersonNameComparer: public std::binary_function<Person, Person, bool> { bool operator()(const Person& p1, const Person& p2) const { return (p1.GetName() < p2.GetName()) ? true : false; } };
-
- set相關算法
- set_union
- set_intersection
- set_difference
- set不允許通過直接叠代器改變成員
-
-
const_cast<Person&>(*it).SetId();//必須使用引用,否則只能修改臨時變量
-
std::set