Was ist der Unterschied zwischen den Methoden rehash () und reserve () der unordered_map in C ++?


Antwort 1:
  1. rehash (n) -> Aufforderung an die Maschine, mindestens n Eimer einzustellen. Wenn Sie elements.reserve (n) einfügen, erhöhen sich die Bucket-Nummern. Wenn Sie der Maschine mitteilen, dass ich 'n' Elemente habe, wählen Sie bitte aus, wie viele Bucket-Nummern mindestens für diese 'n' Elemente und für set.Bucket-Nummern beim Einfügen erhöht werden Elemente.


Antwort 2:
  • unordered_map :: rehash - C ++ Referenzunordered_map :: reserve - C ++ Referenz

Aufwärmen (n)

Anzahl der Eimer

n

Reserve (n)

die am besten passende

n

Elemente

unordered_map

unordered_map :: load_factor - C ++ Referenz

unordered_map :: max_load_factor - C ++ Referenz

Θ(n)\Theta(n)

nn

Aufwärmen

Reservieren

Aufwärmen

Reservieren