Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để hiểu cách tạo một tập hợp không có thứ tự gồm lớp hoặc cấu trúc do người dùng xác định trong C ++.
Đối với điều này, chúng tôi sẽ tạo một kiểu cấu trúc và sau đó so sánh hai kiểu cấu trúc với hàm do người dùng xác định để lưu trữ hàm băm.
Ví dụ
#include <bits/stdc++.h> using namespace std; //defined structure struct Test { int id; bool operator==(const Test& t) const{ return (this->id == t.id); } }; //defined class for hash function class MyHashFunction { public: size_t operator()(const Test& t) const{ return t.id; } }; int main(){ Test t1 = { 110 }, t2 = { 102 }, t3 = { 101 }, t4 = { 115 }; //defining unordered set unordered_set<Test, MyHashFunction> us; us.insert(t1); us.insert(t2); us.insert(t3); us.insert(t4); for (auto e : us) { cout << e.id << " "; } return 0; }
Đầu ra
115 101 110 102