std::vector::front în C++

std::vector C++98

front() returnează primul element al vectorului, iar back() ultimul.

Sintaxă
reference front();
reference back();
// plus variantele const

Ce face std::vector::front

v.front() este echivalent cu v[0], iar v.back() cu v[v.size() - 1]. Ambele returnează o referință, deci poți și modifica elementul.

Pe un vector gol, ambele sunt comportament nedefinit (nu aruncă excepții). Verifică întâi empty().

Ce returnează

O referință la primul (front) sau la ultimul (back) element.

Exemple

Exemplul 1: Primul și ultimul din clasament

#include <print>
#include <string>
#include <vector>

int main() {
    std::vector<std::string> clasament{"Ioana", "Andrei", "Maria", "Radu"};
    if (!clasament.empty()) {
        std::println("Locul 1: {}", clasament.front());
        std::println("Ultimul loc: {}", clasament.back());
    }
    clasament.back() = "Radu (descalificat)";
    std::println("{}", clasament);
}

Rezultat

Locul 1: Ioana
Ultimul loc: Radu
["Ioana", "Andrei", "Maria", "Radu (descalificat)"]

Greșeli frecvente

  • Apelezi front() sau back() pe un vector gol, de exemplu după ce ai citit 0 elemente. Este comportament nedefinit; verifică empty().
  • Confunzi back() (ultimul element) cu end() (iterator după ultimul element, care nu poate fi citit).

Comenzi înrudite

  • std::vector::at: Returnează elementul de la o poziție, cu verificare: aruncă std::out_of_range dacă poziția nu există.
  • std::vector::begin: begin() dă un iterator la primul element, end() unul după ultimul, iar rbegin() pornește parcurgerea de la coadă.
  • std::vector::pop_back: Șterge ultimul element al vectorului; dimensiunea scade cu 1.