Saya mencari struktur data yang akan mendorong keluar elemen terlama / terakhir jika elemen baru dimasukkan. Sebagai contoh, biarkan Dmewakili struktur. Dberisi 3 elemen dari Number Dnilai default tipe akan diinisialisasi ke 1, 2dan 3.
Jika a Numberyang berisi nilai 5dimasukkan ke dalam D, 3akan didorong keluar, sementara 1dan 2digeser ke kanan.
Hal pertama yang terlintas dalam pikiran adalah array, tetapi definisi tersebut tidak termasuk perilaku mendorong.
void push_replace(T val) { pop(); push(val); }.
T push_replace(T val) { T old = pop(); push(val); return old; }
pop()tidak mengembalikan apa pun karena masalah dengan stack unwinding dalam kasus pengecualian menyalin objek yang kompleks, jadi Anda seharusnya menggunakannya front()sebelum jika Anda membutuhkannya sebelum membuang. Tapi tentu saja, jika Anda tidak peduli tentang pengecualian, jalan Anda bisa lebih baik.