এই টিউটোরিয়ালে, আমরা C++-এ ব্যবহারকারীর সংজ্ঞায়িত ক্লাস বা স্ট্রাকটের একটি ক্রমবিহীন সেট কীভাবে তৈরি করা যায় তা বোঝার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এর জন্য আমরা একটি কাঠামোর ধরন তৈরি করব এবং তারপর হ্যাশ ফাংশন সংরক্ষণ করার জন্য ব্যবহারকারীর দ্বারা সংজ্ঞায়িত ফাংশনের সাথে দুটি কাঠামোর ধরন তুলনা করব।
উদাহরণ
#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;
} আউটপুট
115 101 110 102