O tamanho do vetor pode ser reduzido usando diferentes funções integradas do C++. A função pop_back() é uma delas. É usado para remover o último elemento do vetor de trás e reduzir o tamanho do vetor em 1. Mas o último elemento do vetor não é removido permanentemente como a função erase(). Os diferentes usos desta função foram explicados neste tutorial.
Sintaxe:
vetor :: pop_back ( ) ;Esta função não possui nenhum argumento e não retorna nada.
Pré-requisito:
Antes de conferir os exemplos deste tutorial, é necessário verificar se o compilador g++ está instalado ou não no sistema. Se você estiver usando o Visual Studio Code, instale as extensões necessárias para compilar o código-fonte C++ para criar o código executável. Aqui, o aplicativo Visual Studio Code foi usado para compilar e executar o código C++. As maneiras de reduzir o tamanho do vetor usando a função pop_back() são mostradas na próxima parte deste tutorial.
Exemplo 1: Remover vários elementos do vetor
Crie um arquivo C++ com o código a seguir para remover dois elementos do contêiner de vetor, reduzindo o tamanho do vetor usando a função pop_back(). Um vetor de 5 valores de string foi declarado no código. A função pop_back() foi chamada duas vezes aqui para remover temporariamente os dois últimos elementos do vetor e reduzir o tamanho do vetor em 2. O conteúdo do vetor foi impresso duas vezes antes e depois de usar a função pop_back().
//Inclui bibliotecas necessárias
#include
#incluir
usando espaço para nome padrão ;
interno principal ( ) {
//Declara um vetor de valores de string
vetor < corda > flores = { 'Rosa' , 'Lidade' , 'Calêndula' , 'Tulipa' , 'Leão d'água' } ;
corte << 'Os valores do vetor: \n ' ;
//Itera o vetor usando loop para imprimir os valores
para ( interno eu = 0 ; eu < flores. tamanho ( ) ; ++ eu )
corte << flores [ eu ] << ' ' ;
corte << ' \n ' ;
//Remove os dois últimos valores do vetor
flores. pop_back ( ) ;
flores. pop_back ( ) ;
corte << ' \n Os valores do vetor após remove: \n ' ;
//Itera o vetor usando loop para imprimir os valores
para ( interno eu = 0 ; eu < flores. tamanho ( ) ; ++ eu )
corte << flores [ eu ] << ' ' ;
corte << ' \n ' ;
retornar 0 ;
}
Saída:
A seguinte saída aparecerá após a execução do código acima.
Exemplo 2: Crie um novo vetor a partir de outro vetor
Crie um arquivo C++ com o código a seguir para inserir valores específicos em um vetor vazio de outro vetor, removendo os elementos usando a função pop_back(). Um vetor de 8 números inteiros e um vetor vazio do tipo inteiro foram declarados no código. O loop ‘while’ foi usado para iterar cada elemento do primeiro vetor e inserir o elemento no novo vetor se o número for divisível por 2. A soma de todos os números pares também foi calculada aqui. Cada elemento do primeiro vetor será removido pela função pop_back() em cada iteração do loop para atingir a condição de encerramento do loop.
//Inclui bibliotecas necessárias
#include
#incluir
usando espaço para nome padrão ;
interno principal ( )
{
//Declara um vetor de dados inteiros
vetor < interno > intVetor { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Declara um vetor vazio
vetor < interno > novoVetor ;
corte << 'Os valores do vetor original: \n ' ;
//Itera o vetor usando loop para imprimir os valores
para ( interno eu = 0 ; eu < vetor interno. tamanho ( ) ; ++ eu )
corte << intVetor [ eu ] << ' ' ;
corte << ' \n ' ;
//Inicializa o resultado
interno resultado = 0 ;
//Itera o loop até que o vetor fique vazio
enquanto ( ! vetor interno. vazio ( ) )
{
/*
Descubra os números pares para inserir no novoVetor
e calcule a soma dos números pares
*/
se ( vetor interno. voltar ( ) % 2 == 0 )
{
resultado + = vetor interno. voltar ( ) ;
novoVetor. retrocesso ( vetor interno. voltar ( ) ) ;
}
//Remove o elemento do final do intVactor
vetor interno. pop_back ( ) ;
}
corte << 'Os valores do novo vetor: \n ' ;
//Itera o vetor usando loop para imprimir os valores
para ( interno eu = 0 ; eu < novoVetor. tamanho ( ) ; ++ eu )
corte << novoVetor [ eu ] << ' ' ;
corte << ' \n ' ;
corte << 'A soma de todos os números pares:' << resultado << ' \n ' ;
retornar 0 ;
}
Saída:
A seguinte saída aparecerá após a execução do código acima. Havia três números pares no primeiro vetor. Existem 8, 2 e 4.
Exemplo 3: Verifique se o último elemento do vetor foi removido ou não
Foi mencionado anteriormente que pop_back() não remove os elementos permanentemente do vetor e remove o elemento reduzindo apenas o tamanho do vetor. Assim, o elemento removido permanece na mesma posição até que o tamanho do vetor aumente e substitua o elemento por outro elemento. Crie um arquivo C++ com o seguinte código para verificar se o elemento removido pela função pop_back() existe ou não. A última posição do vetor original foi impressa antes e depois de usar a função pop_back().
#include#incluir
usando espaço para nome padrão ;
interno principal ( )
{
//Declara um vetor de dados inteiros
vetor < interno > intVetor { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Declara um vetor vazio
vetor < interno > novoVetor ;
//Declara uma variável inteira
interno comprimento ;
//Imprime o último elemento com base no tamanho do vetor
comprimento = vetor interno. tamanho ( ) ;
corte << 'O tamanho atual do vetor:' << comprimento << ' \n ' ;
corte << 'O último valor do vetor antes de remover:' << intVetor [ comprimento - 1 ] << ' \n ' ;
//Remove o elemento do final do vetor
vetor interno. pop_back ( ) ;
//Imprime o último elemento com base no tamanho do vetor após remover
comprimento = vetor interno. tamanho ( ) ;
corte << 'O tamanho atual do vetor:' << comprimento << ' \n ' ;
corte << 'O último valor do vetor após a remoção:' << intVetor [ comprimento ] << ' \n ' ;
retornar 0 ;
}
Saída:
A seguinte saída aparecerá após a execução do código acima. A saída mostra que o tamanho do vetor foi reduzido em 1, mas o elemento da última posição do vetor original ainda existe.
Conclusão:
Três usos diferentes da função pop_back() foram descritos neste tutorial usando exemplos simples. O objetivo principal do uso desta função será esclarecido aos leitores após a prática dos exemplos deste tutorial.