unordered_set::emplace
Inserisce un elemento costruito in locale (non viene effettuata alcuna operazione di copia o di spostamento).
template<class... Args>
pair<iterator, bool> emplace(
Args&&... args);
Parametri
Parametro |
Descrizione |
args |
Gli argomenti inoltrati per costruire un elemento da inserire nella unordered_set a meno che questo non contenga già un elemento il cui valore sia equivalentemente ordinato. |
Valore restituito
Un pair il cui componente bool restituisce true se un inserimento è stato eseguito e false se la unordered_set contiene già un elemento la cui la chiave ha un valore equivalente nell'ordine e di cui il componente iteratore restituisce l'indirizzo dove un nuovo elemento è stato inserito o dove l'elemento si trovava già.
Per accedere al componente iteratore di una coppia pr restituito da questa funzione, utilizzare pr.first, e per dereferenziarla, utilizzare *(pr.first). Per accedere al componente bool di una coppia pr restituito dalla funzione membro, utilizzare pr.second.
Note
Nessun iteratore o puntatore, viene invalidato da questa funzione.
Durante l'inserimento, se viene generata un'eccezione ma non si trova nella funzione hash del contenitore, il contenitore non viene modificato. Se viene generata un'eccezione nella funzione hash, il risultato sarà indefinito.
Per un esempio di codice, vedere set::emplace.
Requisiti
Intestazione: <unordered_set>
Spazio dei nomi: std