Supponiamo che io ho il seguente struct User:elementi Memorizzazione in un unordered_set vs memorizzandoli in un unordered_map
struct User {
string userId;
UserType userType; // UserType is just an enumeration
string hostName;
string ipAddress;
//and more other attributes will be added here
};
e ho bisogno di memorizzare una collezione di record utente (circa 10^5 utenti, in grado di scalare troppo alto). Sarebbe meglio nelle prestazioni se lo memorizzo come unordered_set o unordered_map? Unordered_set è tecnicamente lo stesso di HashSet e unordered_map è lo stesso di HashMap, giusto? L'uso di un set regolare (ordinato) non è un'opzione, poiché l'inserimento e la cancellazione diventeranno molto lenti quando il numero di elementi aumenterà.
unordered_set <User> userRecords;
O
unordered_map <string, User> userRecords; // string is the user ID.
ho bisogno di essere molto veloce in termini di inserimento, cancellazione, e per accedere ad un oggetto utente particolare dal suo ID utente.