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

C++ Uso e exemplo da função emplace() do vector

C++ Vector ( Container )

É C++ 11 Membro da função novo, adicionado ao vector contêiner para inserir um novo elemento antes da posição especificada.
 Nota: a função emplace() pode inserir apenas um elemento por vez, não múltiplos.

Sintaxe

A sintaxe do vetor (vector) v é:

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

Parâmetros

pos:Define a posição onde o novo elemento será inserido.

args:Passam os parâmetros usados para construir o novo elemento.

Retorno

Ele retorna o iterador para o elemento inserido recentemente.

Exemplo1

Vamos ver um exemplo simples.

#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v{1,2,3,4,5};
cout << "Os elementos do vetor v são:";
for(int i=0; i<v.size(); i++)
cout << v[i] << " ";
cout << '\n';
cout << "Depois de adicionar dois elementos, os elementos são:";
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;
}

Saída:

Os elementos do vetor v são:1 2 3 4 5
Depois de adicionar dois elementos, os elementos são:1 2 9 8 3 4 5

Neste exemplo, o tamanho do contêiner de vetor é aumentado usando a função emplace().

Exemplo2

Vamos ver um exemplo simples outro.

#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;
}

Saída:

Mango apple strawberry banana

Neste exemplo, aumentando o tamanho do container vector (vetor) adicionando uma nova string usando a função emplace().

C++ Vector ( Container )