Vektörün boyutu, C++'ın farklı yerleşik işlevleri kullanılarak azaltılabilir. pop_back() işlevi bunlardan biridir. Vektörün son elemanını arkadan kaldırmak ve vektörün boyutunu 1 küçültmek için kullanılır. Ancak vektörün son elemanı delete() işlevi gibi kalıcı olarak kaldırılmaz. Bu işlevin farklı kullanımları bu öğreticide açıklanmıştır.
Sözdizimi:
vektör::pop_back();Bu işlevin herhangi bir argümanı yoktur ve hiçbir şey döndürmez.
Ön koşul:
Bu öğreticinin örneklerini kontrol etmeden önce, sistemde g++ derleyicisinin kurulu olup olmadığını kontrol etmelisiniz. Visual Studio Code kullanıyorsanız, yürütülebilir kodu oluşturmak için C++ kaynak kodunu derlemek için gerekli uzantıları yükleyin. Burada, C++ kodunu derlemek ve yürütmek için Visual Studio Code uygulaması kullanılmıştır. pop_back() işlevini kullanarak vektörün boyutunu küçültmenin yolları bu öğreticinin sonraki bölümünde gösterilmiştir.
Örnek-1: Vektörden birden çok öğeyi kaldırın
pop_back() işlevini kullanarak vektörün boyutunu küçülterek vektör kabından iki öğeyi kaldırmak için aşağıdaki kodla bir C++ dosyası oluşturun. Kodda 5 dize değerinden oluşan bir vektör bildirildi. Vektörden son iki öğeyi geçici olarak kaldırmak ve vektörün boyutunu 2 azaltmak için pop_back() işlevi burada iki kez çağrıldı. Vektörün içeriği pop_back() işlevi kullanılmadan önce ve kullanıldıktan sonra iki kez yazdırıldı.
//Gerekli kitaplıkları dahil et
#Dahil etmek
#Dahil etmek
kullanarak ad alanısaat;
intana() {
// Dize değerlerinin bir vektörünü bildir
vektör<sicim>Çiçekler= {'Gül','Lity','Kadife çiçeği','Lale','Su Lii'};
maliyet << 'Vektörün değerleri: ';
// Değerleri yazdırmak için döngü kullanarak vektörü yineleyin
için(intben= 0;ben<Çiçekler.boy(); ++ben)
maliyet <<Çiçekler[ben] << '';
maliyet << ' ';
// Vektörden son iki değeri kaldır
Çiçekler.pop_back();
Çiçekler.pop_back();
maliyet << ' Kaldırıldıktan sonra vektörün değerleri: ';
// Değerleri yazdırmak için döngü kullanarak vektörü yineleyin
için(intben= 0;ben<Çiçekler.boy(); ++ben)
maliyet <<Çiçekler[ben] << '';
maliyet << ' ';
dönüş 0;
}
Çıktı:
Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir.
Örnek-2: Başka bir vektörden yeni bir vektör oluşturun
Pop_back() işlevini kullanarak öğeleri kaldırarak başka bir vektörden boş bir vektöre belirli değerler eklemek için aşağıdaki kodla bir C++ dosyası oluşturun. Kodda 8 tamsayılı bir vektör ve tamsayı türünde boş bir vektör bildirildi. İlk vektörün her bir öğesini yinelemek ve sayı 2'ye bölünebiliyorsa öğeyi yeni vektöre eklemek için 'while' döngüsü kullanılmıştır. Tüm çift sayıların toplamı da burada hesaplanmıştır. İlk vektörün her öğesi, döngünün sonlandırma koşuluna ulaşmak için döngünün her yinelemesinde pop_back() işlevi tarafından kaldırılacaktır.
//Gerekli kitaplıkları dahil et
#Dahil etmek
#Dahil etmek
kullanarak ad alanısaat;
intana()
{
//Tamsayı verisi vektörü bildir
vektör<int>intVektör{ 5,9,4,7,2,8,1,3 };
//Boş bir vektör bildir
vektör<int>yeniVektör;
maliyet << 'Orijinal vektörün değerleri: ';
// Değerleri yazdırmak için döngü kullanarak vektörü yineleyin
için(intben= 0;ben<intVektör.boy(); ++ben)
maliyet <<intVektör[ben] << '';
maliyet << ' ';
//Sonucu başlat
intsonuç= 0;
// Vektör boşalana kadar döngüyü yineleyin
süre(!intVektör.boş())
{
/ *
Yeni Vektöre eklenecek çift sayıları bulun
ve çift sayıların toplamını hesaplayın
* /
Eğer (intVektör.geri() % 2 == 0)
{
sonuç+=intVektör.geri();
yeniVektör.Geri itmek(intVektör.geri());
}
// Öğeyi intVactor'ın sonundan kaldır
intVektör.pop_back();
}
maliyet << 'Yeni vektörün değerleri: ';
// Değerleri yazdırmak için döngü kullanarak vektörü yineleyin
için(intben= 0;ben<yeniVektör.boy(); ++ben)
maliyet <<yeniVektör[ben] << '';
maliyet << ' ';
maliyet << 'Tüm çift sayıların toplamı:' <<sonuç<< ' ';
dönüş 0;
}
Çıktı:
Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. İlk vektörde üç çift sayı vardı. 8, 2 ve 4 tane var.
Örnek-3: Vektörün son elemanının kaldırılıp kaldırılmadığını kontrol edin
Daha önce pop_back() öğesinin öğeleri vektörden kalıcı olarak kaldırmadığından ve yalnızca vektörün boyutunu küçülterek öğeyi kaldırdığından bahsedilmiştir. Böylece, kaldırılan eleman, vektörün boyutu artana ve elemanı başka bir elemanla değiştirene kadar aynı konumda kalır. pop_back() işlevi tarafından kaldırılan öğenin var olup olmadığını kontrol etmek için aşağıdaki kodla bir C++ dosyası oluşturun. Orijinal vektörün son konumu, pop_back() işlevi kullanılmadan önce ve sonra yazdırılmıştır.
#Dahil etmek#Dahil etmek
kullanarak ad alanısaat;
intana()
{
//Tamsayı verisi vektörü bildir
vektör<int>intVektör{ 54,19,46,72,22,83,10,53 };
//Boş bir vektör bildir
vektör<int>yeniVektör;
// Bir tamsayı değişkeni bildir
intuzunluk;
// Vektörün boyutuna göre son elemanı yazdır
uzunluk=intVektör.boy();
maliyet << 'Vektörün geçerli boyutu:' <<uzunluk<< ' ';
maliyet << 'Kaldırmadan önceki vektörün son değeri:' <<intVektör[uzunluk-1] << ' ';
//Öğeyi vektörün sonundan kaldır
intVektör.pop_back();
// Kaldırdıktan sonra vektörün boyutuna göre son elemanı yazdır
uzunluk=intVektör.boy();
maliyet << 'Vektörün geçerli boyutu:' <<uzunluk<< ' ';
maliyet << 'Kaldırdıktan sonra vektörün son değeri:' <<intVektör[uzunluk] << ' ';
dönüş 0;
}
Çıktı:
Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Çıktı, vektörün boyutunun 1 azaldığını, ancak orijinal vektörün son konumunun öğesinin hala var olduğunu gösteriyor.
Çözüm:
Pop_back() işlevinin üç farklı kullanımı bu öğreticide basit örnekler kullanılarak açıklanmıştır. Bu öğreticinin örneklerini uyguladıktan sonra okuyucular için bu işlevi kullanmanın asıl amacı açıklığa kavuşturulacaktır.