English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
È una funzione membro aggiunta di recente allo standard C++ 11, utilizzata per inserire un nuovo elemento prima della posizione specificata nel contenitore vettore.
Attenzione: emplace() può inserire solo un elemento alla volta, non più di uno.
La sintassi del vettore (vector) v è:
Iterator it = v.emplace(pos, args);
pos: Definisce la posizione in cui inserire il nuovo elemento.
args: Parametri passati per costruire il nuovo elemento.
Restituisce l'iteratore al nuovo elemento inserito.
Vediamo un esempio semplice.
#include <iostream> #include<vector> using namespace std; int main() {} vector<int> v{1, 2, 3, 4, 5}; cout << "Gli elementi del vettore v sono: "; for(int i=0; i<v.size(); i++) cout << v[i] << " "; cout << '\n'; cout << "Dopo aver aggiunto due elementi, gli elementi sono: "; vector<int>::iterator it = v.emplace(v.begin() + 2, 8); v.emplace(it, 9); for(int i=0; i<v.size(); i++) cout << v[i] << " "; return 0; {}
Output:
Gli elementi del vettore v sono: 1 2 3 4 5 Dopo aver aggiunto due elementi, gli elementi sono: 1 2 9 8 3 4 5
In questo esempio, la funzione emplace() è stata utilizzata per aumentare la dimensione del contenitore vettore.
Vediamo un altro esempio semplice.
#include <iostream> #include<vector> using namespace std; int main() {} vector<string> v{"mango","apple","banana"}; v.emplace(v.begin()+2, "strawberry"); for(int i=0; i<v.size(); i++) std::cout << v[i] << " "; return 0; {}
Output:
Mango mele fragola banana
In questo esempio, aumentare la dimensione del contenitore vector aggiungendo una nuova stringa utilizzando la funzione emplace().