English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Utilizzo e esempio di emplace() in C++ vector

C++ Vector (contenitore)

È 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.

Sintassi

La sintassi del vettore (vector) v è:

Iterator it = v.emplace(pos, args);

Parametri

pos: Definisce la posizione in cui inserire il nuovo elemento.

args: Parametri passati per costruire il nuovo elemento.

Valore di ritorno

Restituisce l'iteratore al nuovo elemento inserito.

Esempio 1

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.

Esempio 2

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().

C++ Vector (contenitore)