在C++ STL庫中實現自定義類型主要涉及到兩個方面:比較函數和哈希函數。
class MyType {
public:
int value;
bool operator<(const MyType& other) const {
return value < other.value;
}
};
class MyType {
public:
int value;
bool operator==(const MyType& other) const {
return value == other.value;
}
};
namespace std {
template <>
struct hash<MyType> {
size_t operator()(const MyType& obj) const {
return hash<int>()(obj.value);
}
};
}
通過以上方法,可以在STL庫中使用自定義類型,并享受到STL提供的各種容器和算法的便利性。