So che è possibile definire una funzione hash per un struct X
definendo una funzione di hash separata struct:funzione hash Definire come parte di una struttura
struct hash_X {
size_t operator()(const X &x) const {}
bool operator()(const X &a, const X &b) const {}
};
int main() {
unordered_set<X, hash_X, hash_X> s;
}
Ma io sto cercando qualcosa di simile operator<
, che può essere collegato a struct X
stesso, ad es con set
:
struct X {
bool operator<(const X &other) const {}
};
int main() {
set<X> s;
}
L'obiettivo finale è qualcosa di simile:
struct X {
size_t operator()(void) const {}
bool operator()(const X &other) const {}
};
int main() {
unordered_set<X> s;
}
Questo è possibile in C++?
Non c'è nessun operatore hash, ma perché non solo definire un metodo? Chiamalo "hash" o qualcosa del genere. – user2357112
Speravo di poter creare un 'unordered_set' senza dover definire una struttura aggiuntiva per la funzione hash –
icedtrees