Storleken på vektorn kan minskas genom att använda olika inbyggda funktioner i C ++. Pop_back () -funktionen är en av dem. Den används för att ta bort det sista elementet i vektorn från baksidan och minska storleken på vektorn med 1. Men det sista elementet i vektorn tas inte bort permanent som funktionen radera (). De olika användningarna av denna funktion har förklarats i denna handledning.
Syntax:
vektor::pop_back();Denna funktion har inget argument, och den returnerar ingenting.
Nödvändig förutsättning:
Innan du kontrollerar exemplen på den här självstudien måste du kontrollera att g ++ - kompilatorn är installerad eller inte i systemet. Om du använder Visual Studio Code installerar du nödvändiga tillägg för att kompilera källkoden C ++ för att skapa den körbara koden. Här har programmet Visual Studio Code använts för att kompilera och köra C ++ - koden. Sätten att minska storleken på vektorn med hjälp av pop_back () -funktionen har visats i nästa del av den här självstudien.
Exempel 1: Ta bort flera element från vektorn
Skapa en C ++ - fil med följande kod för att ta bort två element från vektorbehållaren genom att minska storleken på vektorn med funktionen pop_back (). En vektor med 5 strängvärden har deklarerats i koden. Pop_back () -funktionen har kallats två gånger här för att ta bort två sista element från vektorn tillfälligt och minska storleken på vektorn med 2. Innehållet i vektorn har skrivits ut två gånger före och efter användning av pop_back () -funktionen.
// Inkludera nödvändiga bibliotek
#omfatta
#omfatta
använder sig av namnrymdtimmar;
inthuvud() {
// Deklarera en vektor med strängvärden
vektor<sträng>blommor= {'Reste sig','Lity','Marigold','Tulpan','Water Liiy'};
kosta << 'Vektorns värden: n';
// Iterera vektorn med loop för att skriva ut värdena
för(inti= 0;i<blommor.storlek(); ++i)
kosta <<blommor[i] << '';
kosta << ' n';
// Ta bort de två sista värdena från vektorn
blommor.pop_back();
blommor.pop_back();
kosta << ' nVektorns värden efter borttagning: n';
// Iterera vektorn med loop för att skriva ut värdena
för(inti= 0;i<blommor.storlek(); ++i)
kosta <<blommor[i] << '';
kosta << ' n';
lämna tillbaka 0;
}
Produktion:
Följande utdata visas efter att koden ovan har körts.
Exempel-2: Skapa en ny vektor från en annan vektor
Skapa en C ++ - fil med följande kod för att infoga specifika värden i en tom vektor från en annan vektor genom att ta bort elementen med pop_back () - funktionen. En vektor med 8 heltal och en tom vektor av heltalstyp har deklarerats i koden. 'While' -slingan har använts för att iterera varje element i den första vektorn och infoga elementet i den nya vektorn om talet är delbart med 2. Summan av alla jämna tal har också beräknats här. Varje element i den första vektorn kommer att tas bort av pop_back () -funktionen i varje iteration av slingan för att nå slingans avslutningstillstånd.
// Inkludera nödvändiga bibliotek
#omfatta
#omfatta
använder sig av namnrymdtimmar;
inthuvud()
{
// Deklarera en vektor med heltalsdata
vektor<int>intVector{ 5,9,4,7,2,8,1,3 };
// Deklarera en tom vektor
vektor<int>newVector;
kosta << 'Värdena för den ursprungliga vektorn: n';
// Iterera vektorn med loop för att skriva ut värdena
för(inti= 0;i<intVector.storlek(); ++i)
kosta <<intVector[i] << '';
kosta << ' n';
// Initiera resultatet
intresultat= 0;
// Iterera slingan tills vektorn blir tom
medan(!intVector.tömma())
{
/ *
Ta reda på jämna siffror som ska infogas i den nya vektorn
och beräkna summan av jämna tal
* /
om (intVector.tillbaka() % 2 == 0)
{
resultat+=intVector.tillbaka();
newVector.trycka tillbaka(intVector.tillbaka());
}
// Ta bort element från slutet av intVactor
intVector.pop_back();
}
kosta << 'Värdena för den nya vektorn: n';
// Iterera vektorn med loop för att skriva ut värdena
för(inti= 0;i<newVector.storlek(); ++i)
kosta <<newVector[i] << '';
kosta << ' n';
kosta << 'Summan av alla jämna tal:' <<resultat<< ' n';
lämna tillbaka 0;
}
Produktion:
Följande utdata visas efter att koden ovan har körts. Det fanns tre jämna tal i den första vektorn. Det finns 8, 2 och 4.
Exempel 3: Kontrollera att det sista elementet i vektorn är borttaget eller inte
Det nämns tidigare att pop_back () inte tar bort elementen permanent från vektorn, och det tar bort elementet genom att endast minska storleken på vektorn. Så, det borttagna elementet förblir i samma position tills vektorns storlek ökar och ersätter elementet med ett annat element. Skapa en C ++ - fil med följande kod för att kontrollera att elementet som har tagits bort med pop_back () - funktionen finns eller inte. Den sista positionen för den ursprungliga vektorn har skrivits ut före och efter användning av pop_back () -funktionen.
#omfatta#omfatta
använder sig av namnrymdtimmar;
inthuvud()
{
// Deklarera en vektor med heltalsdata
vektor<int>intVector{ 54,19,46,72,22,83,10,53 };
// Deklarera en tom vektor
vektor<int>newVector;
// Deklarera en heltalsvariabel
intlängd;
// Skriv ut det sista elementet baserat på vektorn
längd=intVector.storlek();
kosta << 'Den aktuella storleken på vektorn:' <<längd<< ' n';
kosta << 'Vektorns sista värde före borttagning:' <<intVector[längd-1] << ' n';
// Ta bort elementet från slutet av vektorn
intVector.pop_back();
// Skriv ut det sista elementet baserat på vektorens storlek efter borttagning
längd=intVector.storlek();
kosta << 'Den aktuella storleken på vektorn:' <<längd<< ' n';
kosta << 'Vektorns sista värde efter borttagning:' <<intVector[längd] << ' n';
lämna tillbaka 0;
}
Produktion:
Följande utdata visas efter att koden ovan har körts. Utdata visar att storleken på vektorn reduceras med 1, men elementet i den sista positionen för den ursprungliga vektorn finns fortfarande.
Slutsats:
Tre olika användningsområden för pop_back () -funktionen har beskrivits i denna handledning med enkla exempel. Huvudsyftet med att använda denna funktion kommer att rensas för läsarna efter att ha praktiserat exemplen på denna handledning.